文件批量重命名
程序员文章站
2022-07-02 20:30:17
...
java实现文件批量重命名
import java.io.File;
import java.io.IOException;
/**
*
* @author zazazazaza96
* 文件批量重命名
*
*/
public class FileNameReplace {
static String newString = "";//新字符串,如果是去掉前缀后缀就留空,否则写上需要替换的字符串
static String oldString = "1";//要被替换的字符串
static String dir = "E:\\testImage";//文件所在路径,所有文件的根目录,记得修改为你电脑上的文件所在路径
public static void main(String[] args) throws IOException {
recursiveTraversalFolder(dir);//递归遍历此路径下所有文件夹
}
/**
* 递归遍历文件夹获取文件
*/
public static void recursiveTraversalFolder(String path) {
int ii=0;
File folder = new File(path);
if (folder.exists()) {
File[] fileArr = folder.listFiles();
if (null == fileArr || fileArr.length == 0) {
System.out.println("此文件夹是空的!");
return;
} else {
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());
} else {//是文件,判断是否需要重命名
fileName = file.getName();
// System.out.println("fileName:"+fileName);
parentPath = file.getParentFile();
// System.out.println("parentPath:"+parentPath);
if (fileName.startsWith(oldString)) {//如果文件名以oldString开头(或者用contains方法也可以)
//subFileName为文件名的后缀名的前面那部分(如a1.txt,subFileName就是a1)
int subIndex=fileName.indexOf(".");
String subFileName=fileName.substring(0,subIndex);
//System.out.println("subFileName:"+subFileName);
//strString为要重命名的名字,本例中想将文件名字重命名为c1、c2、c3、c4...
String strString="c";
//ii为后面的数字,如c1的1、c2的2
strString=strString+Integer.toString(ii);
newString=strString;
ii++;
//System.out.println("newString:"+newString);//c0\c1\c2
//新名字
newName=fileName.replaceAll(subFileName, newString);//新名字
// newName = fileName.replaceAll(oldString, newString);//新名字
newDir = new File(parentPath + "/" + newName);//文件所在文件夹路径+新文件名
file.renameTo(newDir);//重命名
System.out.println("修改后:" + newDir);
}
}
}
}
} else {
System.out.println("文件不存在!");
}
}
}
上一篇: Windows10快捷键
下一篇: Python后缀批量重命名