Java File类中FileFilter过滤器的使用方法

在File类中有两个和listFiles重载的方法,方法传递的参数就是过滤器,方法如下:

1. 重载方法1 1.1 方法名称
File[] listFiles(FileFilter filter)
1.2 说明

java.io.FileFilter接口是用于抽象路径名File的过滤器,其主要作用是过滤file文件,接口中只有唯一的抽象方法accept,如下:

boolean accept(File pathname); //判断指定抽象路径名是否应该包含在某个路径名列表中
//参数File pathname指的是listFiles方法遍历目录,得到的全部文件
1.3 案例
private static void getAllFiles1(File file) {
    if(file.isDirectory()){
        File[] files = file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {//将.java结尾的文件存储到files中
                return pathname.isDirectory || pathname.getName().endsWith(".java");
            }
        });
        for (File file1 : files) {
            System.out.println(file1);
        }
    }
}
2. 重载方法2 2.1  方法名称
File[] listFiles(FilenameFilter filter)
2.2 案例
private static void getAllFiles1(File file) {
    if(file.isDirectory()){
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return new File(dir,name).isDirectory() || name.endsWith(".java");
            }
        });
        for (File file1 : files) {
            System.out.println(file1);
        }
    }
}

 

最新回复(0)
/jishuJdQF3hiqN0U0JYm9WoMooHTHc0sL6t8PVOVOE6XO4HI_3D4795083
8 简首页