FileFilter 包含在Java Development Kit (JDK) 1.2 眾多的附件中。他的主要作用就是檢測文件是否存在。 FileFilter 和他的前身FilenameFilter ***的不同是FileFilter 提供檔案物件的存取方法,而FilenameFilter 是依照目錄和檔案名稱的方式來運作的。
例如,FileFilter 是這樣的:
boolean accept(File file); 登入後複製 |
而FilenameFilter 卻是以下的樣子:
boolean accept(File directory, String name); 登入後複製 |
#一個簡單的範例是搜尋特定的檔案副檔名。你可以使用FilenameFilter ,但是出來的結果會讓你很難判斷到底是資料夾還是檔案。要解決這個問題,你需要使用文件物件。也就是使用FileFilter吧。
以下是ExtensionFileFilter 的程式碼:
package com.generationjava.io.find; 登入後複製 |
以下的範例中用到了上述的ExtensionFileFilter 程式碼:
... String dir = "..."; // directory of your choice File file = new File(dir); File[] files = file.listFiles(new ExtensionFileFilter("cfg")); 登入後複製 |
FileFilter 其實是從javax.swing.filechooser.FileFilter衍生出來的, javax.swing.filechooser.FileFilter 是使用JFileChoosers的抽象類別。
以上是Java如何利用FileFilter方法搜尋文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!