搜索电脑文件涉及到两个比较关键的知识点,一个是IO中的File操作,一个是递归算法,本文不涉及文件的输入输出和序列话,只是寻找文件,故不讨论流这一块。
直接看代码:
public class TransFile {
private static final String SUFFIX = "exe";
private static final String ROOTPATH = "E:\\";
public static void main(String[] args) throws IOException {
System.out.println("Searching....");
Long startTime = System.currentTimeMillis();
List<String> fileNames = findFiles();
if (CollectionUtils.isNotEmpty(fileNames)) {
for (String fileName : fileNames) {
System.out.println(fileName);
}
System.out.println("=======================================");
Long endTime = System.currentTimeMillis();
System.out.println("(匹配到 " + fileNames.size() + "条 数据,总共花费 " +
(endTime-startTime)/1000 + "秒 的时间)");
}else {
System.out.println("没有匹配的文件!");
}
}
private static List<String> findFiles() throws IOException {
// 1.定义集合保存符合要求的文件路径
List<String> allFileNames = new Array