Java递归获取文件夹下所有文件(含子文件夹)
Java递归获取文件夹下所有文件(含子文件夹)
在Java编程中,经常需要获取指定文件夹下的所有文件,包括子文件夹中的文件。递归是一种简洁高效的解决方案。
以下是一段使用递归方法获取文件夹下所有文件的Java代码示例:
import java.io.File;
public class FileScanner {
public static void main(String[] args) {
File folder = new File('path/to/folder');
listFiles(folder);
}
public static void listFiles(File folder) {
if (folder.isDirectory()) {
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
listFiles(file);
}
}
} else {
System.out.println(folder.getAbsolutePath());
}
}
}
代码解析:
-
listFiles(File folder)方法:- 接收一个
File对象作为参数,表示要遍历的文件夹。 - 使用
folder.isDirectory()判断是否为文件夹。 - 如果是文件夹,则使用
folder.listFiles()获取文件夹下所有文件和子文件夹,返回一个File数组。 - 遍历
File数组,对每个元素递归调用listFiles()方法,实现深度遍历。 - 如果不是文件夹,则使用
folder.getAbsolutePath()获取文件的绝对路径并打印。
- 接收一个
-
main()方法:- 创建一个
File对象,指向目标文件夹。 - 调用
listFiles()方法开始递归遍历。
- 创建一个
使用方法:
- 将
path/to/folder替换为实际的目标文件夹路径。 - 运行代码,程序会打印目标文件夹下所有文件的绝对路径,包括子文件夹中的文件。
总结:
使用递归方法可以方便地获取Java中指定文件夹下的所有文件,代码简洁易懂,是处理文件系统相关任务的常用技巧。
原文地址: https://www.cveoy.top/t/topic/fYMK 著作权归作者所有。请勿转载和采集!