问题
起因是新收到个需求,需要拷贝现有项目,在其基础上修改,首先需要修改所有相关文件前缀及代码前缀。
思考
对于代码中的修改可以通过全局替换的方式实现,而对于项目路径下的所有相关文件名的修改,以我的了解,idea好像并没有提供一个可以批量修改文件前缀的方法,所以去百度搜索了一下,好像相关的资料并不是很多,有看到一个类似的用脚本替换文件的,只能做到当前目录修改,想着还要修改脚本还不如自己用代码实现,只需要遍历递归获取所有的文件再修改。
考虑相关资料不多,简单做个记录。
代码实现
import java.io.File;
/**
* 项目拷贝文件名修改
* author wyy
*/
public class ModifyJavaFiles {
public static void main(String[] args){
File rootDir = new File("D:\\test"); // 修改为需要开始遍历的目录
String oldPrefix = "Difo";
String newPrefix = "xxxx";
// 递归修改目录
modifyJavaFiles(rootDir, oldPrefix, newPrefix);
}
public static void modifyJavaFiles(File dir, String oldPrefix, String newPrefix){
// 遍历目录
for (File file : dir.listFiles()) {
if (file.isDirectory()) {
// 递归子目录
modifyJavaFiles(file, oldPrefix, newPrefix);
} else {
// 对Java文件进行操作
String path = file.getAbsolutePath();
path = path.replace(oldPrefix, newPrefix);
file.renameTo(new File(path));
}
}
}
}