File文件查找

用的是递归调用, (递归死循环的结果是导致栈内存溢出错误)

一.代码 

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);
                }
            }
        }
    }
}

二.结果

你可能感兴趣的:(File,File文件查找)