修改地址即可,若文件夹内仍有文件夹自动遍历文件夹,没有则仅遍历文件。
此脚本适用于要在文件名前加文件夹名的情况,可自行修改。
package com.jnd.text;
import java.io.File;
public class jiaoben {
public static void main(String[] args) {
name("E:\\car\\数据集\\DETRAC-test-data\\Insight-MVT_Annotation_Test");//引号里面改成你想要改的文件夹所在的路径
}
public static int name(String path) {
//0:文件夹
int t=0;
File f = new File(path);
if(f.isDirectory()){
//如果不需要更改文件夹下面文件夹里面的文件名称,就把这几行注释了
System.out.println("路径是目录");//如果是文件夹(Midir)
File[] fs=f.listFiles();
for (File file : fs) {
System.out.println(file.getName());
name(file.getPath());
}
}else{
System.out.println(f.getName().substring(0,f.getName().indexOf("") ));
System.out.println("路径不是目录"); //不是文件夹
System.out.println("修改前文件名称是:"+f.getName());
String mypath = f.getParent();
String pname = f.getParentFile().getName()+"";
if(!pname.equals(f.getName().substring(0, f.getName().indexOf("")+1))){
System.out.println("根路径是:"+mypath+",上一级文件夹名为:"+pname);
File newFile = new File(mypath + File.separator +pname+f.getName() );
System.out.println("修改后文件名称是:"+newFile.getName());
if (f.renameTo(newFile)) {
System.out.println("修改成功!");
}else {
System.out.println("修改失败");
}
}
}
return t;
}
}