案例: 针对多层级目录下的视频文件进行文件名进行批量修改,解决文件名过长的问题
主方法:
public static void main(String[] args) {
// 获取要批量重命名的文件目录
String path = "F:\\BaiduNetdiskDownload\\黑马Python6.0人工智能全套课程 2020年全新升级(完整资料)\\01阶段_基础班\\";
// 获得上述目录下的文件名列表,只包括文件名称,不包括path
File file = new File(path);
findFileAndRename( file);
}
执行递归,文件遍历,对符合条件的文件进行修改名称
/**
* 递归获取文件并把满足条件的视频文件名改为自己要的名字
*/
public static void findFileAndRename(File file){
// 如果文件不包含下级目录则认为是文件,否则为文件夹
if( file.listFiles()==null){
String newPathName = "";
//获取源文件的全路径名
String oldPathName = file.getPath();
//文件名特点获取指定文件
if (oldPathName.endsWith(".mp4") && oldPathName.contains("樱花论坛")){
newPathName = oldPathName.replace("【樱花论坛 www.sakuraaaa.com】","");
file.renameTo(new File(newPathName));
}
return;
}
// 若是文件夹,进行文件遍历,递归去查找文件夹下的文件
if (file.list().length >= 1){
File[] files = file.listFiles();
for (File file1 : files){
findFileAndRename( file1);
}
}
}