有没有办法组合多个文件过滤器?



有没有办法组合 java.io 的多个文件过滤器?

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;

相关内容

  • 没有找到相关文章

最新更新