《从零开始学Hadoop大数据分析(视频教学版)》 —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();
}
}
- 点赞
- 收藏
- 关注作者
评论(0)