《java---批量修改檔名---io》
阿新 • • 發佈:2019-01-23
拿到一些檔案後文件名就只是編號,還好一個txt說明
哎,誰讓咱們是程式設計師呢,編個小程式改一下就是老
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class ChengeFileName { /** * Title:利用io流實現檔案批量修改命名 * Copyright: Copyright (c) 2012 * @author: 烽火 * @version 1.0 2012-09-24 * @throws IOException */ public static void main(String[] args) throws IOException { //得到存有檔名的檔案的流物件 FileReader fr = new FileReader("F:\\ProgramView\\java\\JDBC\\a.txt"); BufferedReader bfr = new BufferedReader(fr); StringBuffer sb = new StringBuffer(); //逐行讀取檔案中的字串 String fname = null; while((fname=bfr.readLine()) != null){ sb.append(fname.trim()+","); //System.out.println(fname); } String sbname = sb.toString(); //得到存有檔名的陣列 String[] nfnames = sbname.split(","); /*for (int i = 0; i < nfnames.length; i++){ System.out.println(nfnames[i]); }*/ //得到存有待修改檔案的資料夾物件 File file = new File("F:\\ProgramView\\java\\JDBC\\view"); String[] fnames = null; if (!file.isFile() && file.isDirectory()){ //得到待修改檔名 fnames = file.list(); /*for (int i = 0; i < fnames.length; i++){ System.out.println(fnames[i].substring(0, fnames[i].lastIndexOf("."))); }*/ }else{ System.out.println("非檔案!"); } for (int i = 0; i < fnames.length; i++){ int index = Integer.parseInt(fnames[i].substring(0, fnames[i].lastIndexOf(".")))-1; //得到一個待命名檔案物件 File oldf = new File("F:\\ProgramView\\java\\JDBC\\view\\"+fnames[i]); //獲取新名稱檔案的檔案物件 File newf = new File("F:\\ProgramView\\java\\JDBC\\view\\"+nfnames[index]+".avi"); //進行重新命名 oldf.renameTo(newf); } System.out.println("重新命名完成!"); } }
註釋部分的程式碼只是用來測試;
提示:如你想用此方法修改檔名,最好先將檔案備份。否則出錯就麻煩了!