IO流_批量修改檔名稱案例
阿新 • • 發佈:2019-01-05
package cn.itcast_09; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; /* * 需求:把E:\評書\三國演義下面的視訊的名稱修改為 * 00?_介紹.avi * * 思路: * A:封裝目錄 * B:獲取該目錄下所有的檔案的File陣列 * C:遍歷該File陣列,得到每一個File物件 * D:並接一個新的名稱,然後重新命名即可。 */ public class FileDemo { public static void main(String[] args) throws IOException { // 封裝目錄 File srcFolder = new File("E:\\評書\\三國演義"); // 獲取該目錄下所有的檔案的File陣列 File[] fileArray = srcFolder.listFiles(); // 遍歷該File陣列,得到每一個File物件 for (File f : fileArray) { // System.out.println(f.getName()); // E:\評書\三國演義\三國演義_001[評書網-今天很高興,明天就IO了]_桃園三結義.avi // 改後:E:\\評書\\三國演義\\001_桃園三結義.avi String name = f.getName();// 三國演義_001[評書網-今天很高興,明天就IO了]_桃園三結義.avi int statIndex = name.indexOf('_'); String numberString = name.substring(statIndex + 1, statIndex + statIndex); // System.out.println(numberString); // int stratIndex = name.lastIndexOf('_'); // int endIndex = name.lastIndexOf('.'); // String nameString = name.substring(stratIndex + 1, endIndex); // System.out.println(nameString); int endIndex = name.lastIndexOf('_'); String nameString = name.substring(endIndex); String newName = numberString.concat(nameString);// 001_桃園三結義.avi // System.out.println(newName); File newFile = new File(srcFolder, newName);// E:\\評書\\三國演義\\001_桃園三結義.avi System.out.println(f.renameTo(newFile)); } } }