[英]What is the best way to find files using Java 8?
我想从目录中读取文件
这一切都以(例如:就像我们有一个以名称开头的列表一样)
以“abcd_”开头
以“Proto_”开头
以“foo_”开头
以“2020”开头
以。。开始....
另一个条件是以“.txt”结尾
现在假设在目标目录中,我们有数千个文件。
那么让所有文件与所述条件匹配的有效方法是什么。
**注意:Startswith 是一个动态列表和目标目录,每天都在加载大量文件,但在 MAX 时会有一个且只有一个对应的文件匹配,即使文件数量在增加 **
我写了一个原型
Map<String,String> getFilesMap(Path path)
{
Map<String, String> fatchedFileMap = new HashMap<>();
List<String> fileNamePrefixes = getFileNamePrefixes();
//Using File Filter implementation
path.toFile().listFiles( (dir, fileName) -> {
for (String fileNamePrefix : fileNamePrefixes) {
if (fileName.endsWith (".txt") && fileName.startsWith(fileNamePrefix)))
{
fatchedFileMap.put(fileNamePrefix, fileName);
return true;//does nothing
}
}
return false;//does nothing
});
return fatchedFileMap;
}
这给了我所有名称与前缀匹配的文件(提供的列表)
但是如果有的话,正在寻找更多更好的方法。
我不想介绍任何第三方库,但仍然欢迎所有解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.