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());
        }
相关推荐
南山十一少1 小时前
Spring Security+JWT+Redis实现项目级前后端分离认证授权
java·spring·bootstrap
软件黑马王子3 小时前
C#初级教程(4)——流程控制:从基础到实践
开发语言·c#
闲猫3 小时前
go orm GORM
开发语言·后端·golang
427724003 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
chengooooooo3 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
李长渊哦3 小时前
常用的 JVM 参数:配置与优化指南
java·jvm
计算机小白一个3 小时前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
李白同学4 小时前
【C语言】结构体内存对齐问题
c语言·开发语言
黑子哥呢?5 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农5 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx