java - FileUtils.listFiles 从列表中排除特定的文件扩展名
问题描述
我使用此代码以递归方式从给定目录中获取所有文件。
List<File> fileList = (List<File>) FileUtils.listFiles(new File(directoryName), null , true);
我想从列表中排除一些文件,所以方法的第二个参数值不适合这个目的。我也尝试使用 notFileFilter,但我不能递归使用它。
FileFilter fileFilter1 = FileFilterUtils.notFileFilter(FileFilterUtils.nameFileFilter(".info", null));
List<File> fileList = (List<File>) FileUtils.listFiles(new File(directoryName), fileFilter1, true);
解决方案
对于 Java 8 及更高版本,您可以使用轻松的流 api 来完成
List<File> filteredList = fileList.stream().filter(f -> f.getName().endsWith(".some_extension")).collect(Collectors.toList());
推荐阅读
- python - 对数据集运行主成分分析 (PCA),将特征(成分)的数量从 64 个减少到 2 个
- python - re.search 在 python 中运行缓慢,正在寻找替代方案
- javascript - 使用 jQuery 的 .load() 函数保持导入文本文件的格式?
- ios - Swift 中的 IBM Silverpop 推送集成
- python - Django UpdateView 仅在对象字段满足特定条件时才允许
- powershell - 连接 AzureRmAccount :访问_ws_metadata_exchange_failed
- python - 遍历目录以查找匹配的文件
- javascript - 执行 Firebase 事务时如何检查节点的值?
- java - 多线程读取文件并执行runnable
- selenium - 自动提示文本自动 travelocity.com 上的 xpath 失败