Java--FilenameFilter檔案過濾器
阿新 • • 發佈:2019-02-20
Java中有一個FilenameFilter的介面,能夠過濾得到指定型別的檔案或者目錄,其中必須重寫accept(File file,String path)方法。
本次以.txt檔案格式為例,過濾指定檔案目錄下的.txt檔案。
例項程式碼如下:
package file; import java.io.File; import java.io.FilenameFilter; / * FilenameFilter檔案過濾器 */ public class FileTest { public static void main(String[] args) { //建立指定目錄的檔案物件 File file = new File("D:\\程式設計程式碼"); //指定操作路徑 String[] files = file.list(new MyFilenameFilter()); for(String str : files){ System.out.println(str); //列印所有.txt檔名稱 } System.out.println("--------------------\n"); File[] files2 = file.listFiles(new MyFilenameFilter()); for(File tem : files2){ System.out.println(tem); //列印所有.txt檔案路徑 } } } class MyFilenameFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { // 判斷是否是以指定格式結尾的 if(name.endsWith(".txt")){ return true; } return false; } }
程式執行結果:
1.txt
2.txt
English.txt
FileIoHomework01.txt
王尼瑪.txt
--------------------
D:\程式設計程式碼\1.txt
D:\程式設計程式碼\2.txt
D:\程式設計程式碼\English.txt
D:\程式設計程式碼\FileIoHomework01.txt
D:\程式設計程式碼\王尼瑪.txt