您的位置:首页 > 编程语言 > Java开发

I/O流(2) Java 使用递归方法遍历目录下面的所有文件

2020-01-11 08:18 2201 查看

实现逻辑:

  • 实例化file对象,指明要操作的文件路径

  • 判断该路径下是否有文件

  • 获取该文件下的所有文件或文件目录的File数组

  • 判断文件是否为空

  • 如果为空,直接返回

  • 如果不为空,利用foreach循环遍历,判断是文件还是文件夹

  • 如果是文件夹,获取该文件夹的绝对路径,进行递归调用

  • 如果是文件,获取该文件的绝对路径

代码实现

[code]/**
* Java中使用递归方法遍历文件夹下的所有文件
*/
public class FileTraverse {

public static void main(String[] args) {
//文件夹路径
String path = "D:\\文档\\Java资料";
traverseFolder(path);
}

/**
* 遍历文件
*
* @param path 文件路径
*/
private static void traverseFolder(String path) {
// 实例化file对象,指明要操作的文件路径
File file = new File(path);
// 判断是否有文件
if (file.exists()) {
// 获取该目录下的所有文件或者文件目录的File数组
File[] files = file.listFiles();
// 判断文件是否为空
if (null == files || files.length == 0) {
System.out.println("文件夹是空的!");
return;
} else {
// 利用foreach 进行循环遍历
for (File f : files) {
// 判断是文件还是文件夹
if (f.isDirectory()) {
// (getAbsolutePath())获取文件绝对路径
System.out.println("文件夹:" + f.getAbsolutePath());
// 递归调用
traverseFolder(f.getAbsolutePath());
} else {
System.out.println("文件:" + f.getAbsolutePath());
}
}
}

} else {
System.out.println("文件不存在!");
}
}
}
  • 点赞 4
  • 收藏
  • 分享
  • 文章举报
扬帆向海 发布了73 篇原创文章 · 获赞 818 · 访问量 6万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: