java批量修改文件名

作为一名帅气(苦逼)的学生干部,密切服务群众,这不,收集照片之后要求将姓名+学号的文件按要求改为学号+姓名

人和动物的根本区别是是否会使用工具,使用java的File类进行批量操作,代码如下:

import java.io.File;
/**
 * @Author Pandas
 * @Date 2020/3/30 15:32
 * @Version 1.0
 * 文件名为:王大锤_171060001.jpg
 * 想转换为:171060001_王大锤.jpg
 */
public class FileDo {
    public static void main(String[] args) {
        String dirName="D:/照片/*班照片";
        File dir = new File(dirName);
        File[] filesList = dir.listFiles();
        // 如果路径存在且确为目录
        if (dir.exists() && dir.isDirectory()) {
            for (File file : filesList) {
                //如果文件为.jpg格式
                if (file.isFile() && file.getName().substring(file.getName().lastIndexOf(".")).equals(".jpg")) {
                    String fileName = file.getName();
                    String name = fileName.substring(0, fileName.lastIndexOf("_"));
                    String number = fileName.substring(fileName.indexOf("_") + 1, fileName.lastIndexOf("."));
                    //重命名,这里定义文件名要绝对虚拟路径
                    File dest = new File(dirName + "/"+number+"_"+name+".jpg");
                    file.renameTo(dest);
                }
            }
        }
    }
}

按照惯例面向doc编程:

官方文档:https://docs.oracle.com/javase/8/docs/api/

汉化:http://www.matools.com/api/java8

猜你喜欢

转载自www.cnblogs.com/jwmdlm/p/12599524.html