目录
HDFS-API的下载
在HdfsClient.java中添加
//文件的下载
@Test
public void testGet() throws IOException {
//参数的解读,参数1,源文件是否删除;参数二,源文件的路径;参数三,目标地址的路径;参数四
fs.copyToLocalFile(false,new Path("hdfs://hadoop102/xiyou/huaguoshan1/sunwukong.txt"),new Path("D:\\Hadoopruanjian\\lanxi\\下载\\"),false);
}
}
如果报错就说明你的win系统上没有hadoop或者hadoop未配置成功在cmd输入hadoop测试
当自己的文件夹成功下载文件为成功
HDFS-API的删除
- 删除空文件夹
删除空目录 fs.delete(new Path("/xiyou1"),false);
;
-
//删除非空目录 fs.delete(new Path("/xiyou1"),true);
;
HDFS-API的更名
//文件的更名与移动
@Test
public void testmv() throws IOException {
//参数解读:参数一,源文件路径;参数二,目标文件路径
fs.rename(new Path("/xiyou/huaguoshan1/suwukong.txt"),new Path("/xiyou/huaguoshan1/sunwukong.txt"));
成功截图:
参数的移动和更名
//文件的移动和更名
fs.rename(new Path("/xiyou/huaguoshan1/sunwukong.txt"),new Path("/qitiandashen.txt"));
成功截图
文件夹目录更名
fs.rename(new Path("/xiyou"),new Path("/wukongjia"));
成功截图
HDFS-API获取文件的详情
//获取文件详情
@Test
public void fileDetall() throws IOException {
//获取文件信息
RemoteIterator<LocatedFileStatus> listFiles = fs.listFiles(new Path("/"), true);
//遍历文件
while (listFiles.hasNext()) {
LocatedFileStatus fileStatus = listFiles.next();
System.out.println("**************" + fileStatus.getPath() + "**************");
System.out.println(fileStatus.getPermission());
System.out.println(fileStatus.getOwner());
System.out.println(fileStatus.getGroup());
System.out.println(fileStatus.getLen());
System.out.println(fileStatus.getModificationTime());
System.out.println(fileStatus.getReplication());
System.out.println(fileStatus.getBlockSize());
System.out.println(fileStatus.getPath().getName());
}
}
获取快信息
//获取快信息
BlockLocation[] blockLocations = fileStatus.getBlockLocations();
System.out.println(Arrays.toString(blockLocations));