Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用筛选器时递归列出子目录/文件_Java_Directory_Directory Listing - Fatal编程技术网

Java 应用筛选器时递归列出子目录/文件

Java 应用筛选器时递归列出子目录/文件,java,directory,directory-listing,Java,Directory,Directory Listing,我有以下目录层次结构 $ ls -R a b c a/b: x.db y.db a/b/x.db: p0.txt p1.txt a/b/y.db: a/c: m.db a/c/m.db: 我需要foo(文件rootDir){ .... } 输出[“a/b/x.db”、“a/b/y.db”、“a/c/m.db”] 对于foo(新文件(“a”)) 我尝试过使用org.apache.commons.io.FileUtils,但没有成功! 下面是我试过的 private stat

我有以下目录层次结构

$ ls -R a
b   c

a/b:
x.db    y.db

a/b/x.db:
p0.txt  p1.txt

a/b/y.db:

a/c:
m.db

a/c/m.db:
我需要foo(文件rootDir){ .... } 输出
[“a/b/x.db”、“a/b/y.db”、“a/c/m.db”]

对于
foo(新文件(“a”))

我尝试过使用org.apache.commons.io.FileUtils,但没有成功! 下面是我试过的

private static Collection<File> foo(File rootDir) {
        return FileUtils.listFilesAndDirs(rootDir,
                FalseFileFilter.INSTANCE,
                new DirectoryFileFilter() {
                    @Override
                    public boolean accept(File file) {
                        if (file.getName().endsWith("db")) {
                            return true;
                        }
                        return false;
                    }
                }
        );
    }
private静态集合foo(文件rootDir){
返回FileUtils.listFilesAndDirs(rootDir,
FalseFileFilter.INSTANCE,
新的DirectoryFileFilter(){
@凌驾
公共布尔接受(文件){
if(file.getName().endsWith(“db”)){
返回true;
}
返回false;
}
}
);
}
这个输出

[<parent_dir>/a]
[/a]
有人能帮我吗?提前谢谢

请参阅Java教程

public void findFile(File dir){
   for(File f: dir.listFiles()){
       if(f.isDirectory()){
           findFile(f);
       }else if(f.getName().endsWith(".db")){
           System.out.prinltn(f.getName());
       }
   }
}
特别是看


示例代码“递归文件树,查找与特定全局(筛选器)模式匹配的文件和目录。”

有两个
y.db
实例。最后一个不应该是
m.db
?您在commons io上具体做了哪些尝试,遇到了哪些问题?@BartKiers对输入错误表示抱歉。编辑并更正。@BrettOkken编辑了问题并添加了我在org.apache.commons.io.FileUtils上尝试过的内容的片段谁投了反对票以及为什么,现在你阻止我发布我自己的问题……谢谢你的回答,但是因为我打算在生产代码中使用它,所以我正在寻找一些标准的实用程序来实现这一点。