实例:利用JAVA File类制作批量文件改名小工具

我们有时会碰到需要批量修改文件名的需求,比如从浏览器保存的图片,文件名都是乱码:

 

 当然我们可以利用Windows自带的批量重命名功能:

(全选后,按右键、重命名)

 

 但是这样重命名的格式是固定的,自由度不高。

利用JAVA的File类可以更自由地为多个文件重命名。

重命名利用的是renameTo(File f)方法,传入的参数是一个file对象,表示重命名的文件,如果参数文件对象的绝对路径和源文件的不一样,就像剪切文件一样将文件移动走。

为了让文件原地不动,可以这样写:

File f = new File("D:\\OldName.txt");
        
f.renameTo(new File(f.getParent()+"\\"+"NewName.txt"));

 

 

 需求1:将乱码图片文件批量按序号重命名 格式为 Photo001.jpg

public static void changeName() {
        
        File f = new File("D:\\Photos");
        
        File[] files = f.listFiles();
        for(int i = 0;i<files.length;i++) {
            files[i].renameTo(new File(files[i].getParent()+"\\Photo"+String.format("%03d", (i+1))+".jpg"));
        }

    }

结果:

 

 需求2:将文件名中的特定文字替换

(比如下例中张三改名为张三丰)

public static void changeName() {
        File f = new File("D:\\Photos");
        
        File[] files = f.listFiles();
        for(int i = 0;i<files.length;i++) {
            files[i].renameTo(new File(files[i].getParent()+"\\"+files[i].getName().replaceAll("张三", "张三丰")));
        }
}

效果:

 

posted @ 2021-02-25 22:12  lucascube  阅读(365)  评论(0)    收藏  举报