我想使用Apache Commons IO的FileUtils.listFiles
来查找目录中的所有文件,但不想递归执行搜索。
我可以递归列出所有文件:
FileUtils.listFiles(directory,
new RegexFileFilter(regex),
DirectoryFileFilter.DIRECTORY);
此处DirectoryFileFilter.DIRECTORY
接受所有目录,从而完全递归。查看DirectoryFileFilter
的JavaDoc我没有看到任何提供的拒绝所有目录的实现。我可以自己实现它。
public class NonRecursiveDirectoryFileFilter extends DirectoryFileFilter {
@Override
public boolean accept(File file) {
return false;
}
}
我认为如果Commons IO包含一个方便的DirectoryFileFilter.DIRECTORY
递归搜索,那么对于非递归搜索应该有一个同样方便的实现,不是吗? JavaDocs表明Commons IO中没有DirectoryFileFilter
的扩展名。我忽略了什么吗?
答案 0 :(得分:0)
始终返回false的文件过滤器。
答案 1 :(得分:0)
我想在此向@MrLore致敬,他们指出File.listFiles
完全符合我的要求。正如他所说,在编辑评论之前,CommonsIO的FileUtils.listFiles
旨在提供更多功能,而我所描述的用例并不需要这些额外的功能。