2013-12-19 88 views
1

我有一個在網頁中的selectMenu中使用的目錄列表。如何獲取排除某些子目錄的所有子目錄?

列表包含某個目錄,使用下面的Java代碼檢索下的所有子目錄..

File directory = new File("C:\\myHomeDirectory"); 
myDirectories = directory.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY); 

我要過濾myDirectories列表中排除不包含某個文件的子目錄(稱爲testFolder)。換句話說,我希望myDirectories只包含具有名爲testForder的子文件夾的文件。怎麼做?

回答

3

我想你必須實現你自己的FileFilter。

事情是這樣的:

class CustomDirectoryFilter implements FileFilter { 

private String allowedFileName = "testFolder"; 

    @Override 
    public boolean accept(File pathname) { 

    if (pathname.isDirectory()) { 
     File[] subFiles = pathName.listFiles(); 
     for (File file : subFiles){ 
     if (file.getName().equals(allowedFileName)){ 
      return true; 
     } 
     } 
    } 
    return false; 
    } 
} 

說明: 爲每個文件從C:\ myHomeDirectory測試,如果給定文件是目錄。如果是,請獲取其中的所有文件的數組並進行測試,如果其中任何文件包含您的文件。如果找到這樣的文件,允許目錄是myDirectories

我沒有機會測試此示例代碼編譯,現在的一部分,但我希望它可以幫助你得到你的解決方案。

+0

非常感謝。它確實有幫助。 – Fati

+0

我很高興我能幫上忙。 –

相關問題