我想使用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
旨在提供更多功能,我描述的用例不需要这些额外的功能。