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());
        }
相关推荐
IT_阿水3 分钟前
C语言之printf函数用法
c语言·开发语言·printf
ChinaRainbowSea8 分钟前
github 仓库主页美化定制
java·后端·github
laocooon52385788618 分钟前
C语言,少了&为什么报 SegmentationFault
c语言·开发语言
white-persist21 分钟前
【攻防世界】reverse | re1-100 详细题解 WP
c语言·开发语言·网络·汇编·python·算法·网络安全
程序猿小蒜22 分钟前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring
CHANG_THE_WORLD23 分钟前
Python 中的循环结构详解
开发语言·python·c#
程序员-周李斌24 分钟前
ConcurrentHashMap 源码分析
java·开发语言·哈希算法·散列表·开源软件
JS_GGbond32 分钟前
JavaScript入门学习路线图
开发语言·javascript·学习
quikai19811 小时前
python练习第一组
开发语言·python
BD_Marathon1 小时前
【JavaWeb】JS_JSON在客户端的使用
开发语言·javascript·json