package util;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.util.Iterator;
/**
* 递归的把某一目录下的所有文件重命名(之间的父级目录下划线相连)
*/
public class RenameFileByDir {
public static void main(String[] args) {
File file = new File("D:\\CS\\牛逼的面试辅导视频");
//获取根目录下所有文件对象
File[] files = file.listFiles();
if(files!=null){
for (int i = 0; i < files.length; i++) {
String path = files[i].getAbsolutePath();
int len = path.length();
//如果文件是目录则递归遍历
if (files[i].isDirectory()){
Iterator<File> fileIterator = FileUtils.iterateFiles(files[i], null, true);
while (fileIterator.hasNext()){
File next = fileIterator.next();
if(!next.isDirectory()){
String absolutePath = next.getAbsolutePath();
String subString = absolutePath.substring(len);
String replacedString = subString.replace('\\', '_');
String newPath = path+replacedString;
next.renameTo(new File(newPath));
}
}
}
}
}
}
}
递归的把某一目录下的所有文件重命名(之间的父级目录下划线相连)
最新推荐文章于 2024-03-27 10:30:40 发布
本篇博客介绍了一种使用Java实现的文件重命名方法,通过递归遍历指定目录下的所有文件,将文件路径中包含的目录层级用下划线连接,适用于批量修改文件名的需求。
4431

被折叠的 条评论
为什么被折叠?



