listFiles方法以及文件过滤器

1.获取当前文件对象所表示的路径下的所有文件或文件夹名称(字符串)

public static void method01(){
        File file=new File("E:\java");
        //获取当前文件对象所表示的路径下的所有文件或文件夹名称(字符串)
        String[] files=file.list();
        for(String s:files){
            System.out.println(s);
        }
    }

2.获取当前文件对象所表示的路径下的所有文件或文件夹对应的file对象

public static void method02(){
        File file=new File("E:\java");
        //获取当前文件对象所表示的路径下的所有文件或文件夹对应的file对象
        File[] files=file.listFiles();
        for(File f:files){
            System.out.println(f);
        }
    }

注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件

1,指定的目录必须是存在的,

2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException

文件过滤器:通过listfiles方法,可以获取到一个目录下的所有文件和文件夹,通过某个条件来进行筛选。

可以自定义文件过滤器,自己编写条件,返回值是boolean

例如,筛选所选目录中的java文件

public class MyFileter implements FileFilter {
    public boolean accept(File pathname) {
        return pathname.getName().toLowerCase().endsWith(".java");
    }
}
    public static void method03(){
        File file=new File("E:\java");
        File[] files=file.listFiles(new MyFileter());
        for(File f:files){
            System.out.println(f);
        }
    }
原文地址:https://www.cnblogs.com/zzq123/p/10174896.html