小白学习专用
package com.sails.common;
import java.io.File;
import java.util.ArrayList;
/**
* @author Sail
* 2018/9/13
*/
public class FileUtil {
/**
* 自定义文件工具类
*
* @param file
* @return
*/
public static ArrayList<File> allFiles(File file) {
ArrayList<File> res = new ArrayList<>();
listAllFile(file, res);
return res;
}
/**
* 使用递归获取文件夹及子文件夹的文件目录
*
* @param file
* @param res
*/
private static void listAllFile(File file, ArrayList<File> res) {
File[] arr = file.listFiles();
for (int i = 0; i < arr.length; i++) {
if (arr[i].isDirectory()) {
listAllFile(arr[i], res);
}
res.add(arr[i]);
}
}
}
测试Demo
package com.sails.common;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.ArrayList;
/**
* @author Sail
* 2018/9/13
*/
public class FileUtilTest {
@Test
public void test1(){
File dir = new File("files");//需要遍历的文件夹
ArrayList<File> file = FileUtil.allFiles(dir);
for (File file1:file){
System.out.println(file1.getAbsolutePath());
}
}
}
本文介绍了一个自定义的Java文件工具类,该类能够通过递归方式获取指定目录及其子目录下的所有文件路径。通过实例演示了如何使用此工具类进行文件遍历。
1万+

被折叠的 条评论
为什么被折叠?



