2021-11-04统一修改文件名称

wuchangjian2021-11-04 15:53:10编程学习

2021-11-04统一修改文件名称

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

/**
 * @Author: zhangtao
 * @DateTime: 2021/10/22 14:05
 * @Description: TODO
 */
public class ChangeName {
    /**
     * 新字符串,如果是去掉前缀后缀就留空,否则写上需要替换的字符串
     */
    static String newString = "remote";
    /**
     * 要被替换的字符串
     */
    static String oldString = "_remote";
    /**
     * 文件所在路径,所有文件的根目录,记得修改为你电脑上的文件所在路径
     */
    static String root_dir = "D:\\bankworkspace\\apache-maven-3.6.3-bin\\repository";

    public static void main(String[] args) throws IOException {
        //递归遍历此路径下所有文件夹
        recursiveTraversalFolder(root_dir);
    }

    /**
     * 递归遍历文件夹获取文件
     */
    private static void recursiveTraversalFolder(String path) {
        File folder = new File(path);


        File[] fileArr = folder.listFiles();
        if (null == fileArr || fileArr.length == 0) {
            System.out.println("文件夹是空的! fileArr=" + fileArr);
            return;
        }

        //文件所在文件夹路径+新文件名
        File newDir = null;
        //新文件名
        String newName = "";
        //旧文件名
        String fileName = null;
        //文件所在父级路径
        File parentPath = new File("");
        for (File file : fileArr) {
            //是文件夹,继续递归,如果需要重命名文件夹,这里可以做处理
            if (file.isDirectory()) {
                System.out.println("文件夹:" + file.getAbsolutePath() + ",继续递归!");
                recursiveTraversalFolder(file.getAbsolutePath());
                continue;
            }

            //是文件,判断是否需要重命名
            fileName = file.getName();
            parentPath = file.getParentFile();
            if (fileName.contains(oldString)) {
                //文件名包含需要被替换的字符串
                newName = fileName.replaceAll(oldString, newString);
                //文件所在文件夹路径+新文件名
                newDir = new File(parentPath + "/" + newName);
                //重命名
                file.renameTo(newDir);
                System.out.println("修改后:" + newDir);
            }
        }

    }

}

相关文章

国家卫健委:17日新增本土确诊病例614例、本土无症状感染者2810例

2022-08-18 09:22:48 据国家卫健委网站,8月17日0...

桃李面包混有飞虫被罚款5万元

桃李面包混有飞虫被罚款5万元

2022-08-10 12:37:47 近日,天津桃李食品有限公司因违...

优优自走棋2.2

修改了几个bug,用了最新的game库,直接让代码少了100...

梦天实验舱来了!它长什么样

梦天实验舱来了!它长什么样

2022-08-09 12:07:46 据中国载人航天工程办公室8月9...

1021 个位数统计 (15 分) (C语言)

给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。