常用代码如下
package com.testHDFS;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.util.LineReader;
public class TestHDFS {
private static Configuration conf = new Configuration();
private static final String HADOOP_URL="hdfs://kt:9000";
private static FileSystem fs;
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
FileSystem.setDefaultUri(conf, HADOOP_URL);
fs = FileSystem.get(conf);
//创建目录test
/*boolean flag=fs.mkdirs(new Path("/test"));
if(flag){
System.out.println("success!");
}else{
System.out.println("fail");
}*/
//复制D盘的文件到HDFS的/test中
/*fs.copyFromLocalFile(new Path("e:\\sad.txt"), new Path("/test"));*/
//在HDFS中创建文件
/*boolean flag=fs.createNewFile(new Path("/test/test1.txt"));
if(flag){
System.out.println("success");
}else{
System.out.println("fail");
}*/
//列出所有文件状态信息
FileStatus[] lists=fs.listStatus(new Path("/"));
for(FileStatus k:lists){
System.out.println( k.getPath()+";"+ k.getPermission().toString()+";"+k.getOwner()+";"+k.getLen()+";"+k.getAccessTime());
}
//更改文件的名称
/*boolean flag=fs.rename(new Path("/test/test1.txt"), new Path("/test/test0.txt"));
if(flag){
System.out.println("success");
}else{
System.out.println("fail");
}*/
//文件流
/*FSDataOutputStream out = fs.create(new Path("/test0.txt"), true);
FSDataInputStream in = fs.open(new Path("/test/test0.txt"));
IOUtils.copyBytes(in, out, 4096, true);//true表示自动关闭流
*/
//删除操作
/*boolean flag=fs.delete(new Path("/test0.txt"),true);
if(flag){
System.out.println("success");
}else{
System.out.println("fail");
}*/
//远程 下载或者删除
// fs.copyFromLocalFile(new Path("d:\\article.data"),new Path("/user/hadoop/input"));
// fs.setReplication(new Path("/test/test124.txt"), (short)5);
// fs.copyFromLocalFile(new Path("e:\\test2.txt"), new Path("/test"));
// fs.copyToLocalFile(new Path("/test"), new Path("d:/"));
//判断文件是否存在
/*boolean flag=fs.exists(new Path("/test"));
if(flag){
System.out.println("exists!");
}else{
System.out.println("not exists!");
}*/
//读取HDFS的文件内容
/*FSDataInputStream inputStream = fs.open(new Path("/test/test2.txt"));
Text line = new Text();
LineReader liReader = new LineReader(inputStream);
while (liReader.readLine(line) > 0) {
System.out.println(line);
}
inputStream.close();*/
//获取根目录信息
/*System.out.println(fs.getDefaultBlockSize());
System.out.println(fs.getHomeDirectory());*/
}
}
测试列出所有文件状态信息
点击下载 链接:https://pan.baidu.com/s/1s2SdzrD11kB7AePxWcCxYQ 提取码:lw20
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有