我是一名尝试使用文件和目录的 Java 初学者。我想创建一个程序,我可以在其中自动更改文件名,同时在所有子目录中搜索无效的文件名。我实际上是在尝试将大量文件加载到服务器上,但服务器设置不允许包含特殊字符的文件名。首先,我能够编写代码,如果我将路径传递给目录,它会重命名该目录中所有名称无效的文件:
公共类重命名{
public static String baseLoc = "C:/Users/Developer/Desktop/.../Data Cleanup";
public static void main(String[] args) {
//LinkedList<File> fileList = new LinkedList<File>();
File obj = new File(baseLoc);
int count = 0;
for (File file: obj.listFiles())
{
String origName = file.getName();
if (origName.contains("&") || origName.contains("#") || origName.contains("@"))
{
System.out.println("Original name: "+origName);
origName = origName.replaceAll("&", "_and_");
origName = origName.replaceAll("@", "_at_");
String newName = origName.replaceAll("#", "_");
System.out.println("New Name: "+newName);
String newLoc = baseLoc+"/"+newName;
File newFile = new File(newLoc);
System.out.println(file.renameTo(newFile));
count++;
}
}
}
}
现在我想做同样的事情,但只是这次我希望所有文件都被重命名,即使在子目录中也是如此。有人可以指导我如何实现这一目标吗?