java遍历文件夹下所有文件示例
介绍
我们在文件的操作中,时常会遇到文件的遍历操作,而文件的存储相当于是一个目录树结构,要想获取所有文件,常规的获取是很困难的。本文主要采用递归的方式来获取所有文件。
什么是递归?
“递归”简单点来说就是自己调用自己。通常在下一个所做的事情与上一个或原始所做的事情一致,但不能无限制做下去,必须有出口;比如:文件夹下的文件遍历,文件是有限的。
递归遍历文件夹下所有文件案例
import java.io.File;
public class FileListTest {
import java.util.ArrayList;
public static void main(String[] args) {
//定义一个文件对象,给一个需要遍历的目录,比如:D:\\toos
File file = new File("D:\\toos");
getFileAll(file,new ArrayList<File>());
}
/** *获取指定目录下的文件 **/ public static ArrayList<File> getFileAll(File file,ArrayList<File> fileList) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
// 判断files[i]是不是目录
if (files[i].isDirectory()) {//文件是目录,递归调用自己
listAllFile(files[i],fileList);} else { //将文件添加到集合中
fileList.add(files[i]);
}
} //返回所有文件集合 return fileList;
}
}
文章标签:
有用收藏!