java实现批量修改某个文件夹下的特定文件名

场景

在日常工作和学习中,我们经常会下载一些网络资源来学习和研究,但是很多资源都在每个文件的名称上加上了一些无关的信息,对于强迫症患者来说,看着非常的难受,但是一个个去改又很浪费时间,所以今天将帮助大家解决这个问题。

环境

Java,IDEA

代码


import java.io.File;

/**
 * 文件重新命名
 *
 * @author Jion
 * @created 2019-05-14
 */
public class FileRename {

    private static String PATH = "E:\\Downloads\\04-201809大数据_全套视频教程\\05_第五阶段  大数据项目实战";

    private static String DEL_SUBSTRING = "【北京尚学堂·百战程序员】";

    public static void main(String[] args) {
        boolean b = rename(PATH);
        System.out.println("result=" + b);
    }

    /**
     * 传入一个文件夹路径,修改该路径下所有符合条件的文件名称
     * @param path
     * @return
     */
    public static boolean rename(String path){

        File dir = new File(path);
        File[] files = dir.listFiles();

        //遍历文件数组
        for (File file: files) {
            String fileName = file.getName();
            //是否是文件
            if(file.isFile()){
                //是否包含需要删除的字符串
                int i;
                if((i = fileName.indexOf(DEL_SUBSTRING)) != -1){
                    //更改文件名
                    String newName = file.getParent() + File.separator +
                            fileName.substring(0,i) + fileName.substring(i+DEL_SUBSTRING.length());
                    System.out.println("newName="+newName);
                    file.renameTo(new File(newName));
                }
            //是否是文件夹
            }else if (file.isDirectory()){
                //对当前文件夹进行迭代
                rename(file.getAbsolutePath());
            }
        }
        return true;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。