场景
在日常工作和学习中,我们经常会下载一些网络资源来学习和研究,但是很多资源都在每个文件的名称上加上了一些无关的信息,对于强迫症患者来说,看着非常的难受,但是一个个去改又很浪费时间,所以今天将帮助大家解决这个问题。
环境
Java,IDEA
代码
import java.io.File;
/**
* 文件重新命名
*
* @author Jion
* @created 2019-05-14
*/
public class FileRename {
private static String PATH = "E:\\Downloads\\04-201809大数据_全套视频教程\\05_第五阶段 大数据项目实战";
private static String DEL_SUBSTRING = "【北京尚学堂·百战程序员】";
public static void main(String[] args) {
boolean b = rename(PATH);
System.out.println("result=" + b);
}
/**
* 传入一个文件夹路径,修改该路径下所有符合条件的文件名称
* @param path
* @return
*/
public static boolean rename(String path){
File dir = new File(path);
File[] files = dir.listFiles();
//遍历文件数组
for (File file: files) {
String fileName = file.getName();
//是否是文件
if(file.isFile()){
//是否包含需要删除的字符串
int i;
if((i = fileName.indexOf(DEL_SUBSTRING)) != -1){
//更改文件名
String newName = file.getParent() + File.separator +
fileName.substring(0,i) + fileName.substring(i+DEL_SUBSTRING.length());
System.out.println("newName="+newName);
file.renameTo(new File(newName));
}
//是否是文件夹
}else if (file.isDirectory()){
//对当前文件夹进行迭代
rename(file.getAbsolutePath());
}
}
return true;
}
}