一、实例:
java递归读取目录下的所有文件(包含子目录下的所有文件)
思路:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到
files[]数组,然后遍历得到的所有文件,通过isFile(文件)和isDirectory(文件夹)方法来
判断读取的是文件还是文件夹,如果得到的是文件夹,就递归调用test()方法,如果得到的
是文件,就将其加入fileList中,最后测试的时候遍历fileList下的所有文件,来验证读取
数据的准确性。
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class ReadFile {
//因为测试test的是一目录名,目录名是以”“形式,所以是字符串类型
private static void test(String fileDir) {
//ArrayList集合查询速度快
List fileList = new ArrayList();
//创建要递归读取的目录文件的对象
File file = new File(fileDir);
// 获取目录下的所有文件或文件夹
File[] files = file.listFiles();
// 如果目录为空,直接退出
if (files == null) {
return;
}
// 遍历,目录下的所有文件,使用了增强for循环
for (File f : files) {
//是否是文件(非文件夹&#