批量修改文件名

Posted by violetks on November 3, 2019

开发工具:eclipse

一切源于我某天下载了一堆视频,并想要给它们重新命名。
原始名称都是有相似性和规律性的,都是只需要去掉开头几个字符和结尾几个字符。

重命名前:
24.23.视频名称一(Av74592164,P24).mp4
25.24.视频名称二二(Av74592164,P25).mp4

重命名后:
23.视频名称一.mp4
24.视频名称二二.mp4

这种事情,当然是能用程序解决就绝不挨个改了 (#^.^#)

package com.violetks.test;

import java.io.File;
import java.io.IOException;

public class rename {
    //文件所在路径,修改为你电脑上的文件所在路径
    static String dir = "C:\\Users\\Xionglin\\Desktop\\测试重命名";

    public static void main(String[] args) throws IOException {
    	renameFile(dir);
    }

    public static void renameFile(String path){
        File folder = new File(path);
        if(folder.exists()){
            File newDir = null;  //文件所在文件夹路径+新文件名
            File[] fileArr = folder.listFiles();  // fileArr得到文件数组
            for(File file : fileArr){
                String fileName = file.getName();
                String tempStr = fileName.substring(3,fileName.length());  // 去掉字符串前3个字符
                // 去掉 (Av74592164,P100) 这几个字符,注意长度
                String temp = tempStr.substring(tempStr.length()-20,tempStr.length()-4);
                String newName = tempStr.replace(temp, "");
                System.out.println(newName);
                newDir = new File(dir + "/" + newName);  //文件所在文件夹路径+新文件名
                file.renameTo(newDir);  //重命名
            }
        }else{
            System.out.println("文件夹不存在!");
        }
    }
}

上面代码适合文件开头的序号是两位数的情况,当序号变为三位数时需要手动修改下substring()里的参数值。