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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章