IO流_批量修改文件名称案例 Dear 丶 2022-07-11 08:48 189阅读 0赞 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)); } } }
还没有评论,来说两句吧...