给定一个File dir
我需要找到的最高的数字文件名(如果有的话)从目录中获得最高的数字文件名(INT) - 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;
}
考虑文件夹中的文件数可能会相当大(300k +),我担心的是与性能有关。
这是一个可以接受的解决方案吗?还有更好的方法吗?
相关的文件夹内的所有文件(即你需要检查所有文件或只有遵循特定名称模式的文件)? –
@ThiagoPorciúncula所有完整的数字名称是游戏,其余的都没有兴趣...我实际上希望有一些聪明的正则表达式的解决方案,但不能想到任何东西... –
那么,如果你需要使用文本文件来管理300K它变得真正愚蠢。数据库将是一个更好的主意 –