完整代码展示很多时候我们都需要批量修改文件名。
虽然靠系统的全选后再修改单个文件也可以达到批量修改的目的,但效果有限。
作为程序员的我们,写个小脚本来批量修改还不是美滋滋。
废话不多说先上代码(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



