我需要在根目錄下找到具有給定名稱的域名(我將它稱爲「固定域名」)。 我有以下目錄結構:查找與給定名稱匹配的子域名
- rootdir
-- someName1
--- fixedName
-- somename2
--- fixedName
在根目錄有一些目錄,其名稱是不明,而那些顯示目錄下有我的目標迪爾斯。 的結果我的 「發現」 應該是:[ROOTDIR/someName1/fixedName,ROOTDIR/someName2/fixedName]
我試着用Commons FileUtils,具體的方法listfiles,執行以下操作:
final File ROOTDIR = new File("/rootdir");
IOFileFilter nameFilter = new NameFileFilter("fixedName");
Collection<File> files = FileUtils.listFiles(ROOTDIR, TrueFileFilter.TRUE, nameFilter);
但它不起作用,因爲subdir walk在someName * dirs的級別停止。 我可以寫一個自定義的方法,但我想知道一個人是否能實現什麼,我需要使用共享文件實用程序或Java API(使用一些高級的功能,我的意思)
+1使用標準API,listfiles()已經在** File **類中,我不明白他爲什麼使用commons- io在第一個 – 2011-02-28 16:39:50
這個代碼的作品,但它不是遞歸的Commons listFiles(我的問題顯示了我的樹,但我想將它應用到更深的),我只是好奇我是否已經理解正確的公用fileutils api – cdarwin 2011-02-28 17:20:16
雖然很容易把它變成一個遞歸函數。實際上無論如何都會清理它。使用Commons listFiles對於這個目的似乎是不必要的,因爲您可以用一些更容易理解的方式在標準API中將它寫入幾行。 – 2011-03-01 16:19:06