IO_File类使用:在指定目录中查找

import java.io.File;
import java.util.Arrays;
/**
   在指定的目录中查找文件
 */
public class FileDemo2 {
    public static void main(String[] args) {
        //静态的方法不能访问非静态的方法和属性,所以findfile必须定义为静态的方法此处才能调用
        findfile(new File("E:\\Java_IO"),".txt");
    }
    
    public static void findfile(File target,String ext) { //查找文件传入两个参数,文件类型的target比如{new File("E:\\")},字符串类型扩展名ext比如{.jpg}
        if(target==null)return;
        if(target.isDirectory()) { //当target是文件目录时
            File [] files = target.listFiles(); //target的listFiles()方法生成File类型的数组
            if(files!=null) { 
                for(File f:files) {     //当files目录不为空时,遍历数组里所有的目录
                    findfile(f,ext);    //遍历的时候再进行递归调用
                }
            }
        }else {    //当target是文件时;这里的target分为两种情况:1、是调用findfile()方法时传入的target本身是文件;2、经过上述递归调用后的找到的文件,此时f赋值给target参数
            String name = target.getName();  //获取target文件的名称
            if(name.toLowerCase().endsWith(ext)) {   //名称进行转小写,然后判断是否以ext扩展名结尾
                System.out.println(target.getAbsolutePath());  //输出target文件的绝对路径
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_34006468/article/details/87073953
今日推荐