(小脚本) 批量修改文件名 (java实现)

很多时候我们都需要批量修改文件名。

虽然靠系统的全选后再修改单个文件也可以达到批量修改的目的,但效果有限。

作为程序员的我们,写个小脚本来批量修改还不是美滋滋。

废话不多说先上代码(java)

完整代码展示

import java.io.File;

public class Main {
    public static void main(String[] args) {
        System.out.println("******程序运行开始******");

        // 文件夹目录
        // String fileDirectoryPath = "C:/Users/windows/Desktop/开场界面";
        String fileDirectoryPath = "C:\\Users\\windows\\Desktop\\开场界面";
        // 获得文件夹目录的File对象
        File fileDirectory = new File(fileDirectoryPath);

        // 目录是否存在
        if (fileDirectory.exists()) {
            System.out.println("File获取成功");
            // file 是否是目录
            if (fileDirectory.isDirectory()) {
                System.out.println(fileDirectoryPath + " 目录存在");
                // 获得文件列表
                File[] fileList = fileDirectory.listFiles();
                System.out.println("该目录下共有 " + fileList.length + " 个文件");

                // 遍历所有文件
                for (int i = 0; i < fileList.length; i++) {
                    // 原来的文件名
                    String oldName = fileList[i].getName();
                    // 新文件名
                    String newName = "三国杀节气图片-" + oldName;

                    // 检验新文件名是否与该目录下已经存在的文件重名
                    File newFile = new File(fileDirectoryPath + "/" + newName);
                    if (newFile.exists()) {
                        System.out.println("该名称[" + newName + "]已经存在!");
                        System.out.println("[" + oldName + "]--->[" + newName + "]修改失败");
                    } else {
                        // 修改成新名称
                        fileList[i].renameTo(newFile);
                        System.out.println("[" + oldName + "]--->[" + newName + "]修改成功");
                    }
                }
            } else {
                System.out.println(fileDirectoryPath + " 不是目录路径");
            }
        } else {
            System.out.println("File获取失败");
        }

        System.out.println("******程序运行结束******");
        return;
    }

}

修改效果展示

修改前

在这里插入图片描述

修改中

在这里插入图片描述

修改后

在这里插入图片描述

复用修改处

其实就两个地方修改就能复用

  • 文件夹目录的路径 String fileDirectoryPath = "C:\\Users\\windows\\Desktop\\开场界面";
  • 新文件名(按自己需要修改)String newName = "新文件名" + oldName;

代码讲解

目录字符串

因为单个\会视为转义符,因此可以改成反斜杠/或者是\\转义掉

String fileDirectoryPath = "C:/Users/windows/Desktop/开场界面"; // 反斜杠/

String fileDirectoryPath = "C:\\Users\\windows\\Desktop\\开场界面"; // 转义法\\

目录对象是否获取成功

fileDirectory.exists() // exists()是否存在

fileDirectory.isDirectory() // isDirectory()是否是目录对象

获取文件列表

File[] fileList = fileDirectory.listFiles();

获取文件名

String oldName = fileList[i].getName();

操作新文件名

  • 根据自己的需求编写新文件名

  • 检测新文件名是否与该目录下有同名文件

    File newFile = new File(fileDirectoryPath + "/" + newName);
    if (newFile.exists()) {
        // ...
    }
  • 若不重名,则修改fileList[i].renameTo(newFile);



END

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值