如何用递归获取一个文件夹内的所有文件存放在一个文件数组中?

2022-03-31 社会 68阅读
public static void main(String[] args) throws Exception {
File dir = new File("F:\\jk\\yy-5");
List files = getAllFiles(dir);
//转换成数组
File[] fileArr = new File[]{};
fileArr = files.toArray(fileArr);
for(File file:fileArr){
System.out.println(file);
}

}

public static List getAllFiles(File dir) throws Exception{
List files = new ArrayList();
if(dir.isDirectory()){//如果是目录
File[] documentArr = dir.listFiles();//取目录下的所有文件
if(documentArr!=null){
//遍历目录下所有文件 执行递归
for(File document:documentArr){
files.addAll(getAllFiles(document));
}
}
}else{//如果是文件 加入到list中
files.add(dir);
}
return files;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com