最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何根據文件名前綴自動分組圖片文件

 更新時間:2025年05月12日 15:20:35   作者:頗有幾分姿色  
一大堆文件(比如圖片)堆在一個目錄下,它們的命名規(guī)則遵循一定的格式,混在一起很難管理,所以本文小編就和大家介紹一下如何使用Java根據文件名前綴自動分組圖片文件吧

需求

一大堆文件(比如圖片)堆在一個目錄下,它們的命名規(guī)則遵循一定的格式,混在一起很難管理。需通過代碼自動歸類整理。根據文件名前綴將圖片文件自動分組,為每一組創(chuàng)建一個文件夾來歸檔。

背景

一批圖片文件,命名格式如下:

A_20241021-1.jpg
A_20241021-2.jpg
A_20241022-1.png
A_20241023-1.xml

-1, -2 之前的部分是一致的。前綴相同的文件屬于同一組。根據這個前綴,把它們分到各自的“文件夾”中。

分析思路

提取文件名前綴:以 -數字 為分隔,去掉后綴名,取前半部分作為分組依據。

使用 Map 存儲分組結果:key 是前綴,value 是對應的文件列表。

輸出或移動到對應的文件夾中。

實現代碼

下面是完整的示例代碼,重點是如何提取前綴并進行分組:

import java.util.*;

public class FileGrouper {
    public static void main(String[] args) {
        // 示例文件名列表
        List<String> fileNames = Arrays.asList(
            "A_20241021-1.jpg",
            "A_20241021-2.jpg",
            "A_20241022-1.jpg",
            "A_20241023-1.jpg"
        );

        // 存儲分組后的文件名
        Map<String, List<String>> groupedFiles = new HashMap<>();

        for (String fileName : fileNames) {
            // 提取前綴部分作為 key
            String prefix = getPrefix(fileName);

            // 添加到對應的分組
            groupedFiles.computeIfAbsent(prefix, k -> new ArrayList<>()).add(fileName);
        }

        // 輸出分組結果
        for (Map.Entry<String, List<String>> entry : groupedFiles.entrySet()) {
            System.out.println("文件夾: " + entry.getKey());
            for (String file : entry.getValue()) {
                System.out.println("  " + file);
            }
        }
    }

    /**
     * 獲取文件名前綴(去掉 `-數字` 和擴展名)
     */
    private static String getPrefix(String fileName) {
        int lastDashIndex = fileName.lastIndexOf('-');
        if (lastDashIndex != -1) {
            return fileName.substring(0, lastDashIndex);
        }
        return fileName;
    }
}

輸出結果

運行后,你會得到如下輸出:

文件夾: A_20241021
  A_20241021-1.jpg
  A_20241021-2.jpg
文件夾: A_20241022
  A_20241022-1.jpg
文件夾: A_20241023
  A_20241023-1.jpg

分組成功,為每組生成了“文件夾名”。

知識擴展

Java 根據文件名前綴找文件

在Java中,我們可以通過文件名的前綴來查找文件。這個過程主要分為以下幾個步驟:讀取文件目錄、篩選文件名、匹配前綴、找到目標文件。

詳細步驟

步驟1:讀取文件目錄

首先,我們需要獲取目標文件夾中的所有文件名列表。

// 指定目標文件夾路徑
File folder = new File("path/to/folder");
// 獲取目標文件夾中的所有文件
File[] listOfFiles = folder.listFiles();

步驟2:篩選文件名

接下來,我們需要篩選出目標文件名。

List<String> fileNames = new ArrayList<>();
for (File file : listOfFiles) {
    if (file.isFile()) {
        fileNames.add(file.getName());
    }
}

步驟3:匹配前綴

然后,我們需要匹配文件名前綴,找到目標文件。

String targetPrefix = "prefix";
String targetFile = null;
for (String fileName : fileNames) {
    if (fileName.startsWith(targetPrefix)) {
        targetFile = fileName;
        break;
    }
}

步驟4:找到目標文件

最后,我們可以根據目標文件名找到目標文件。

File file = new File(folder.getPath() + File.separator + targetFile);
// 進行后續(xù)操作,比如讀取文件內容

到此這篇關于Java如何根據文件名前綴自動分組圖片文件的文章就介紹到這了,更多相關Java自動分組圖片內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java編程實現獲取服務器IP地址及MAC地址的方法

    java編程實現獲取服務器IP地址及MAC地址的方法

    這篇文章主要介紹了java編程實現獲取機器IP地址及MAC地址的方法,實例分析了Java分別針對單網卡及多網卡的情況下獲取服務器IP地址與MAC地址的相關技巧,需要的朋友可以參考下
    2015-11-11
  • SpringMVC打印請求參數和響應數據最優(yōu)方案

    SpringMVC打印請求參數和響應數據最優(yōu)方案

    項目中經常需要打印http請求的參數和響應數據,本文給大家講解如何在SpringMVC打印請求參數和響應數據最優(yōu)方案,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • springboot下ueditor上傳功能的實現及遇到的問題

    springboot下ueditor上傳功能的實現及遇到的問題

    這篇文章主要介紹了springboot下ueditor上傳功能的實現及遇到的問題,本文分步驟通過實例截圖給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • java實現圖書檢索系統

    java實現圖書檢索系統

    這篇文章主要為大家詳細介紹了java實現圖書檢索系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java通過JNI 調用動態(tài)鏈接庫DLL操作

    Java通過JNI 調用動態(tài)鏈接庫DLL操作

    這篇文章主要介紹了Java通過JNI 調用動態(tài)鏈接庫DLL操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Spring事件監(jiān)聽機制ApplicationEvent方式

    Spring事件監(jiān)聽機制ApplicationEvent方式

    這篇文章主要介紹了Spring事件監(jiān)聽機制ApplicationEvent方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java實現按字節(jié)長度截取字符串

    Java實現按字節(jié)長度截取字符串

    在Java中,由于字符串可能包含多字節(jié)字符,直接按字節(jié)長度截取可能會導致亂碼或截取不準確的問題,下面我們就來看看幾種按字節(jié)長度截取字符串的方法吧
    2025-05-05
  • Mybatis使用distinct問題及處理

    Mybatis使用distinct問題及處理

    Mybatis使用distinct查詢時,插件自動生成的sql可能少去掉一行,導致查詢不到期望的結果,修復方法是在生成的sql中去掉"Base_Column_List"
    2025-12-12
  • SpringMVC上傳圖片與訪問

    SpringMVC上傳圖片與訪問

    這篇文章主要介紹了SpringMVC上傳圖片與訪問的相關資料,需要的朋友可以參考下
    2016-01-01
  • 關于mybatis遇到Integer類型的參數時動態(tài)sql需要注意條件

    關于mybatis遇到Integer類型的參數時動態(tài)sql需要注意條件

    這篇文章主要介紹了關于mybatis遇到Integer類型的參數時動態(tài)sql需要注意條件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論

通许县| 峡江县| 彭水| 宣武区| 清流县| 上饶市| 都江堰市| 刚察县| 双牌县| 河池市| 西乌珠穆沁旗| 弥渡县| 镇江市| 姚安县| 碌曲县| 绍兴县| 东乌珠穆沁旗| 大兴区| 吉林省| 彭州市| 金湖县| 水富县| 新沂市| 秦皇岛市| 苏州市| 宁城县| 抚宁县| 壶关县| 桓台县| 临邑县| 那曲县| 津南区| 峨眉山市| 腾冲县| 望江县| 东乌珠穆沁旗| 福贡县| 鱼台县| 北碚区| 洪雅县| 仁寿县|