以下是一个足够简单的模板,就用到递归。对于修改不同种类的文件或文件夹的名字可以追加不同的判断和修改规则。粘贴文件名的时候发现当粘贴内容为字符串时eclipse会判断内容里是否有需要转义,比如“\”,而MyEclipse居然没有这个功能。
package com.util;
import java.io.File;
public class Rename {
static int a=1; //用于编号
public static void main(String[] args) {
renameTo("E:\\BaiduNetdiskDownload"); //文件夹下有很多文件和文件夹
}
public static void renameTo(String fileName) {
File f = new File(fileName);
if (f.isDirectory()) { //判断是否是文件夹,如果需要改文件夹的名字可以在这里判断和修改规则
String[] fileList = f.list();
for (String fileName2 : fileList) {
File f2=new File(fileName+"\\"+fileName2);
renameTo(f2.getAbsolutePath());
}
}
if (f.getName().endsWith(".avi")) { //除了文件夹那必然都是文件了,这里直接写要改文件名的判断条件
f.renameTo(new File(f.getParent()+"\\"+String.format("%04d", a++)+f.getName()));//给所有avi文件加个序号0001、0002、0003。。。
}
}
}