Java - commons-io - listFiles non-recursively



我想使用Apache Commons IO的FileUtils.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,那么应该有一个同样方便的非递归搜索实现,不是吗?JavaDocs建议在Commons IO中没有提供DirectoryFileFilter的扩展。我忽略了什么吗?

> Doi,找到了它。

FalseFileFilter

始终返回 false 的文件筛选器。

我想在这里感谢@MrLore,他注意到File.listFiles完全符合我的意愿。正如他所说,在编辑他的评论之前,CommonsIO的FileUtils.listFiles旨在提供更多功能,我描述的用例不需要这些额外的功能。

相关内容

  • 没有找到相关文章

最新更新