2014-01-23 32 views
4

我想使用Apache IO Commons收集與給定名稱匹配的目錄內的所有(子)目錄。雖然我可以使用NameFileFilterFileUtils.listFiles結合使用來解決文件的這項任務,但我無法找到解決方法來爲文件夾執行此操作。使用Java以遞歸方式列出具有給定名稱的目錄

我嘗試下面的代碼片段:

IOFileFilter fileFilter = new NameFileFilter(fileName); 
Collection<File> fileList = FileUtils.listFilesAndDirs(rootFolder, fileFilter, TrueFileFilter.INSTANCE); 

它識別文件夾和子文件夾,但根據NameFileFilter不過濾。我究竟做錯了什麼?

回答

3

您的代碼僅查找具有此名稱的文件,而不查找任何目錄。

這應該工作:

IOFileFilter nameFilter = new NameFileFilter(fileName); 
Collection<File> fileList = FileUtils.listFilesAndDirs(rootFolder, 
    new NotFileFilter(TrueFileFilter.INSTANCE), 
    nameFilter); 
相關問題