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参数:判断的路径
image

//判断文件文件夹信息
@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());
        }
    }
}
posted @ 2021-08-05 21:59  莳曳  阅读(498)  评论(0)    收藏  举报