Hadoop_HDFS_API 获取文件详细信息和判断文件文件夹
获取文件详细信息
如要获取 Permission Owner 等信息可在 HdfsClient.java 中编写fileDetail() 函数用于获取文件的详细信息
//获取文件信息
@Test
public void fileDetail() 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));
}
}
判断文件和文件夹
用于判断是文件还是文件夹
API参数:判断的路径

//判断文件文件夹信息
@Test
public void textFile() throws IOException {
FileStatus[] fileStatuses = fs.listStatus(new Path("/"));
for (FileStatus status : fileStatuses) {
if (status.isFile()) {
System.out.println("This is a file "+status.getPath().getName());
}else{
System.out.println("This is a dir "+status.getPath().getName());
}
}
}

浙公网安备 33010602011771号