1.查看hdfs上的文件
public static void main(String[] args) {
try {
// 创建要链接的资源地址
URI uri = new URI("hdfs://xxx.xxx.xxx.xxx:端口号"); //这个地址是hadoop目录下etc/hadoop/core-site.xml文件里的 fs.defaultFS 地址
Configuration conf = new Configuration();
conf.set("dfs.replication", "1"); // 设置副本数
// 获取文件系统实例
FileSystem fs = FileSystem.get(uri, conf, "huangbiao");
FileStatus[] fss = fs.listStatus(new Path("/user/huangbiao"));//这是要查看的文件系统的目录,看自己的目录是什么
System.out.println("当前目录下的文件信息如下:");
for (FileStatus f : fss) {
System.out.println( f.getPath().getName() );
}
} catch (URISyntaxException e) {
e.printStackTrace();
} catch(FileNotFoundException e){
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
输出结果:
2.修改hdfs上的文件名:
public static void main(String[] args) {
try {
// 创建要链接的资源地址
URI uri = new URI("hdfs://xxx.xxx.xxx.xxx:端口号"); //这个地址是hadoop目录下etc/hadoop/core-site.xml文件里的 fs.defaultFS 地址
Configuration conf = new Configuration();
conf.set("dfs.replication", "1"); // 设置副本数
// 获取文件系统实例
FileSystem fs = FileSystem.get(uri, conf, "huangbiao");
FileStatus[] fss = fs.listStatus(new Path("/user/huangbiao"));
System.out.println("当前目录下的文件信息如下:");
for (FileStatus f : fss) {
System.out.println(f.getPath().getName());
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要修改的文件名:");
Path f11 = new Path(sc.next());
System.out.println("请输入修改后的名称:");
Path f12 = new Path(sc.next());
boolean b1 = fs.rename(f11, f12);
System.out.println("修改结果:"+b1);
} catch (URISyntaxException e) {
e.printStackTrace();
} catch(FileNotFoundException e){
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}