有没有一种方法可以组合多个java.io的FileFilter?
FileFilter wildcardFileFilter = new WildcardFileFilter("*.yml");
FileFilter isFileFileFilter = FileFileFilter.FILE;
File[] listFiles = dir.listFiles(???);
最佳答案
关于什么...
FileFilter combinedFilter = f -> wildcardFileFilter.accept(f) && isFileFileFilter.accept(f);
如果您希望它流利,请记住
FileFilter
本质上是Predicate<File>
,它提供了一些组合内容的方法...Predicate<File> wildcardFileFilter = new WildcardFileFilter("*.jml")::accept;
Predicate<File> isFileFileFilter = FileFileFilter.FILE::accept;
FileFilter combinedFilter = wildcardFileFilter.and(isFileFileFilter)::test;