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());
        }
相关推荐
卓怡学长11 小时前
m111基于MVC的舞蹈网站的设计与实现
java·前端·数据库·spring boot·spring·mvc
写代码的【黑咖啡】11 小时前
Python中的JSON处理(标准库)
开发语言·python·json
存在的五月雨11 小时前
Redis的一些使用
java·数据库·redis
Elias不吃糖19 小时前
Java Lambda 表达式
java·开发语言·学习
guygg8819 小时前
一级倒立摆MATLAB仿真程序
开发语言·matlab
情缘晓梦.19 小时前
C语言指针进阶
java·开发语言·算法
世转神风-19 小时前
qt-字符串版本与数值版本互转
开发语言·qt
极客代码20 小时前
深入解析C语言中的函数指针:原理、规则与实践
c语言·开发语言·指针·状态机·函数·函数指针
w-w0w-w20 小时前
C++模板参数与特化全解析
开发语言·c++