Java 完成文件批量重命名親測可用(精簡版)。本站提示廣大學習愛好者:(Java 完成文件批量重命名親測可用(精簡版))文章只能為提供參考,不一定能成為您想要的結果。以下是Java 完成文件批量重命名親測可用(精簡版)正文
之前在網上下載了很多視頻,解緊縮後,發現外面每個文件後面都有一長串的網址,招致我基本看不清每個視頻的名字究竟叫什麼?
網上搜了一些批量重命名的辦法,可都不是我想要的,既然這樣,干脆自己入手用Java寫一個吧。測了一下應該沒問題,如今分享出來。
先上代碼:
import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** * 重命名規則類 * @author jack */ class ReplacementChain{ private Map<String,String> map; public ReplacementChain() { this.map = new HashMap<String, String>(); } public Map<String, String> getMap() { return map; } // 添加新的交換規則(字符串交換) public ReplacementChain addRegulation(String oldStr , String newStr){ this.map.put(oldStr, newStr); return this; } } /** * 重命名類 * @author Jack */ public class Rename { /** * 批量重命名 * @param path * @param replacementChain */ public static void multiRename(String path,ReplacementChain replacementChain){ File file = new File(path); boolean isDirectory = file.isDirectory(); /** 假如不是文件夾,就前往* */ if(!isDirectory){ System.out.println(path + "不是一個文件夾!"); return; } String[] files = file.list(); File f = null; String filename = ""; String oldFileName = ""; //之前的名字 /** 循環遍歷一切文件* */ for(String fileName : files){ oldFileName = fileName; Map<String, String> map = replacementChain.getMap(); for (Entry<String, String> entry : map.entrySet()) { fileName = fileName.replace(entry.getKey(), entry.getValue()); } f = new File(path + "\\" + oldFileName); //輸入地址和原途徑堅持分歧 f.renameTo(new File(path + "\\" + fileName)); } System.out.println("祝賀,批量重命名成功!"); } public static void main(String[] args) { } }
運用辦法:
假設我如今有一個文件夾,外面有若干個txt文件,都有一個很長的前綴和後綴。
如今我希望把它們的前綴都去掉;
第一步,在main辦法外面新建一個 ReplacementChain 類的實例,這是一個規則類。次要就是設置一些交換規則。
ReplacementChain replacementChain = new ReplacementChain();
第二步,新增交換規則
第一個文件的全名:
【我是一個好長好長的前綴哦】~~~~~ 小說001(我是萌萌的小尾巴).txt
我們希望把【我是一個好長好長的前綴哦】~~~~~ 和 (我是萌萌的小尾巴) 去掉,只需求在replacementChain下面添加兩個交換規則即可。
replacementChain.addRegulation("【我是一個好長好長的前綴哦】~~~~~", "").addRegulation("(我是萌萌的小尾巴)", "");
addRegulation支持鏈式調用。
第三步,調用批量重命名辦法
Rename.multiRename("F:\\測試文件夾", replacementChain);
傳兩個參數,第一個是需求批量處置的文件所在的文件夾途徑,第二個就是 replacementChain 對象。
運轉
控制台假如打印出: 祝賀,批量重命名成功!
那麼就闡明成功了。
我本地的那些文件曾經被批量重命名了:
以上所述是給大家引見的Java 完成文件批量重命名親測可用(精簡版),希望對大家有所協助,假如大家有任何疑問請給我留言,會及時回復大家的。在此也十分感激大家對網站的支持!