用的是递归调用, (递归死循环的结果是导致栈内存溢出错误)
一.代码
package org.example;
import java.io.File;
public class day03 {
public static void main(String[] args) {
//文件查找,在d:temp下查找改名.mp4
search(new File("d:/temp"),"改名.mp4");
}
public static void search(File dir,String fileName){
//过滤非法情况
if(dir == null || !dir.exists()|| dir.isFile()){
return;
}
final File[] files = dir.listFiles();
if(files != null && files.length > 0){
//遍历全部一级文件对象
for (File f : files) {
//判断是文件还是文件夹
if(f.isFile()){//是文件
if(f.getName().equals(fileName)){
System.out.println(f.getAbsolutePath());
}
}else{ //是文件夹
search(f,fileName);
}
}
}
}
}