能夠根據使用路徑修改文件名,已經測試,能夠成功運行工具
先是讀取到txt文本文件,以後使用String的spilt
進行分割,每一行的格式爲 舊名字 新名字
,中間的空格能夠使用|
或者其餘字符代替,以此爲標誌分割String測試
以後將舊名字當作key,新名字當作value寫入到map中去編碼
得到文件的所在的文件夾,listFile
遍歷獲得全部的文件,以後getName
得到文件名(這裏得到到的文件名是包括有擴展名的)code
再次使用String的spilt
進行處理(參數爲"\.",須要轉義),獲得文件名和擴展名對象
reName
更名字,參數爲一個文件對象遊戲
先把代碼貼出來吧,以後再作個有界面的工具~資源
class Test { private static Map<String, String> map; public static void main(String[] args) { map = readTxtFile("T:\\遊戲資源\\仙劍4\\音樂目錄.txt"); reName("T:\\遊戲資源\\仙劍4\\仙劍奇俠傳四音樂"); } /** * * @param s 文件所在文件夾路徑名 */ public static void reName(String s){ File file = new File(s); if (file.isDirectory()){ File[] files = file.listFiles(); for (int i = 0; i < files.length; i++) { String h = files[i].getName(); String[] temp = h.split("\\."); String newName = map.get(temp[0]); files[i].renameTo(new File(s+"\\"+newName+"."+temp[temp.length-1])); } } } private static HashMap<String, String> readTxtFile(String filePath){ HashMap<String, String> map = new HashMap<>(); try { String encoding="GBK"; File file=new File(filePath); if(file.isFile() && file.exists()){ //判斷文件是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file),encoding);//考慮到編碼格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while((lineTxt = bufferedReader.readLine()) != null){ String[] split = lineTxt.split(" "); map.put(split[0],split[1]); } read.close(); }else{ System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("讀取文件內容出錯"); e.printStackTrace(); } return map; } }