我需要在根目录下找到具有给定名称的域名(我将它称为“固定域名”)。 我有以下目录结构:查找与给定名称匹配的子域名
- 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