package com.yangshengliang.io.file;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
public class GetFiles {
// 存储文件列表
private ArrayList fileList = new ArrayList<>();
public static void main(String[] args) throws IOException {
GetFiles demo = new GetFiles();
// D:/Program Files 目录
ArrayList arr = demo.getFile(new File("D:/Program Files"));
for (String a : arr) {
// 打印出所有的文件,包含完整路径
System.out.println(a);
}
System.out.println("文件总数:" + arr.size());
}
private ArrayList 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;
}
}
结果演示:
文中如未加特殊声明均为原创,转载请注明:转自于杨圣亮的技术博客链接地址:java递归遍历获取目录下所有文件