Java根据文件名日期排序&取其最新

java 复制代码
        ArrayList<String> fileNames = new ArrayList<>();
        fileNames.add("20231001115811.log");
        fileNames.add("20231002235832.log");
        fileNames.add("20231008085853.log");
        fileNames.add("20231007145819.log");
        fileNames.add("20231009165818.log");
        fileNames.add("20221020065817.log");
        fileNames.add("20231010205814.log");
        fileNames.add("20231012035816.log");
        fileNames.add("20231019105815.log");
        fileNames.add("20231013115818.log");
        fileNames.add("20231017155813.log");

        TreeMap<Long,String> fileNameMap= new TreeMap<Long,String>();
        for (String fileName : fileNames) {
            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);
            }
        }
        if (!fileNameMap.isEmpty()) {
            System.out.println(fileNameMap.lastEntry().getValue());
        }
相关推荐
编程风暴17 分钟前
零基础数据分析项目模板+5条避坑红线
java·数据挖掘·数据分析
IKUN家族17 分钟前
常见的依懒
java·服务器·数据库
m0_5191964018 分钟前
【设计模式】java的习题
开发语言·python
我命由我1234529 分钟前
Jetpack Compose - Material Design 断点范围、WindowSizeClass、针对不同屏幕尺寸创建预览、四类导航栏
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
linux-hzh30 分钟前
百日算法修炼 · Day 05
java·算法
摇滚侠42 分钟前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 89-129
java·云原生·kubernetes
captain3761 小时前
多线程进阶
java·开发语言·数据库
思麟呀1 小时前
C++(八):文件系统库+并行算法
开发语言·c++
雨辰AI2 小时前
人大金仓 K8s 密评合规加固|国密全链路加密 + 权限收敛容器化落地(三级密评直通版)
java·云原生·容器·kubernetes·政务
郑州光合科技余经理7 小时前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php