0

我想使用 Apache Commons IOFileUtils.listFiles来查找目录中的所有文件,但不想递归地执行搜索

我可以像这样递归地列出所有文件:

FileUtils.listFiles(directory,
                    new RegexFileFilter(regex),
                    DirectoryFileFilter.DIRECTORY);

这里DirectoryFileFilter.DIRECTORY 接受所有目录,因此完全递归。查看 JavaDoc,DirectoryFileFilter我没有看到任何提供的拒绝所有目录的实现。我可以像这样自己实现它..

public class NonRecursiveDirectoryFileFilter extends DirectoryFileFilter {

    @Override
    public boolean accept(File file) {
        return false;
    }

}

我想如果 Commons IO 包含一个方便DirectoryFileFilter.DIRECTORY的递归搜索,那么应该有一个同样方便的非递归搜索实现,不是吗?DirectoryFileFilterJavaDocs 建议Commons IO中没有提供的扩展。我忽略了什么吗?

4

2 回答 2

0

我想在这里赞扬@MrLore,他指出这File.listFiles正是我想要的。正如他所说,在编辑他的评论之前,CommonsIOFileUtils.listFiles旨在提供更多功能,而我描述的用例不需要这些额外的功能。

于 2013-10-06T12:07:11.980 回答
0

窦唯,找到了。。

FalseFileFilter

始终返回 false 的文件过滤器。

于 2013-09-22T10:23:06.697 回答