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 发布