Я хочу читать файлы из каталога
, который все начинается с (Пример: как у нас есть список стартов с именами)
Теперь рассмотрим сценарий, в котором в целевом каталоге у нас есть тысячи файлов.
Так каков эффективный способ сопоставления всех файлов с указанными условия.
** Примечание: Startswith - это динамический список c, а целевой каталог загружается большим количеством файлов каждый день, но в 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;
}
Это дает мне все файлы, имена которых соответствуют префиксам (предоставленный список)
Но в поисках более лучших способов, если таковые имеются.
Я не хочу инт Можно запускать любые сторонние библиотеки, но все равно добро пожаловать во все решения.