Java中的TreeMap默认是根据key值从小到大排序
TreeMap<Long, String> fileNameMap = new TreeMap<Long, String>();
for (String fileName : fileNames) {
try {
// 提取日期部分
Pattern pattern = Pattern.compile("[0-9]{14}"); // 使用正则表达式匹配14位数字
Matcher matcher = pattern.matcher(fileName);
if (matcher.find()) {
String date = matcher.group();
fileNameMap.put(Long.parseLong(date), fileName);
}
} catch (Exception ignored) {
continue;
}
}
if (!fileNameMap.isEmpty()) {
// 集合中最后一个就是日期最大的文件
fileNameMap.lastEntry().getValue();
}