《从零开始学Hadoop大数据分析(视频教学版)》 —3.4.4 递归显示文件

举报
华章计算机 发表于 2019/12/14 23:10:46 2019/12/14
【摘要】 本节书摘来自华章计算机《从零开始学Hadoop大数据分析(视频教学版)》 一书中第3章,第3.4.4节,作者是温春水 毕洁馨 。

3.4.4  递归显示文件

  如果要显示文件夹中的文件,需要用到递归算法,因为文件夹中可能有文件,也可能有文件夹。代码如下:

 

public static void listFile(Path path) {

       Configuration conf = new Configuration();

try {

       FileSystem fs = FileSystem.get(conf);

           //传入路径,表示显示某个路径下的文件夹列表

           //将给定路径下所有的文件元数据放到一个FileStatus的数组中

//FileStatus对象封装了文件和目录的元数据,包括文件长度、块大小、权限等信息

           FileStatus[] fileStatusArray = fs.listStatus(path);

           for (int i = 0; i < fileStatusArray.length; i++) {

                FileStatus fileStatus = fileStatusArray[i];

       //首先检测当前是否是文件夹,如果“是”则进行递归

                  if (fileStatus.isDirectory()) {

                      System.out.println("当前路径是:" + fileStatus.getPath());

                        listFile(fileStatus.getPath());

                  } else {

                      System.out.println("当前路径是:"  + fileStatus.getPath());

                  }

           }

} catch (IOException e) {

e.printStackTrace();

}

}


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。