Учитывая File dir
Мне нужно найти наибольшее числовое имя файла (если таковые существуют)Получить наибольшее числовое имя файла (как межд) из каталога - Java
Мой подход:
// get the highest numeric file name(as int) from given directory
public static final int getHighestNumericFileName(File dir) {
int result = -1;
for (File f : dir.listFiles()) {
String name = f.getName();
name = name.substring(0, name.indexOf('.'));
if (StringUtils.isNumeric(name)) {
int val = Integer.parseInt(name);
if (val > result)
result = val;
}
}
return result;
}
Учитывая количество файлов в папке может быть довольно большим (300 Кбайт), моя проблема связана с производительностью.
Действительно ли это приемлемое решение? И есть ли лучший способ?
ли все файлы в папке соответствующего (то есть вам нужно проверять все файлы или только файлы, которые следуют определенной схеме имен)? –
@ ThiagoPorciúncula Все полностью числовые имена - это игра, остальные не представляют интереса ... Я действительно надеялся на какое-то умное решение регулярных выражений, но не мог подумать ни о чем ... –
Ну, если вам нужно использовать текстовые файлы для управления 300 КБ становится настоящим глупо. База данных была бы лучшей идеей –