java递归遍历获取目录下所有文件
java递归获取目录下所有文件(代码),完整代码。以获取 D:/Program Files目录下的文件为例,共得到37083个文件。
package com.yangshengliang.io.file;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
public class GetFiles {
// 存储文件列表
private ArrayList<String> fileList = new ArrayList<>();
public static void main(String[] args) throws IOException {
GetFiles demo = new GetFiles();
// D:/Program Files 目录
ArrayList<String> arr = demo.getFile(new File("D:/Program Files"));
for (String a : arr) {
// 打印出所有的文件,包含完整路径
System.out.println(a);
}
System.out.println("文件总数:" + arr.size());
}
private ArrayList<String> getFile(File path) throws IOException {
File[] listFile = path.listFiles();
for (File a : listFile) {
if (a.isDirectory()) {
// 递归调用getFile()方法
getFile(new File(a.getAbsolutePath()));
} else if (a.isFile()) {
this.fileList.add(a.getAbsolutePath());
}
}
return fileList;
}
}
结果演示:
更多阅读

qq:1535604235


QQ
微信
商店