import java.io.File;
import java.io.IOException;
public class FileOps {
public static void main(String[] argv) throws IOException {
File folder = new File("\\Projects\\sample");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
File f = new File("c:\\Projects\\sample\\"+listOfFiles[i].getName());
f.renameTo(new File("c:\\Projects\\sample\\"+i+".txt"));
}
}
System.out.println("conversion is done");
}
}
# 2 楼答案
类似的操作应该可以(Windows版本):
import java.io.*;
public class RenameFile {
public static void main(String[] args) {
// change file names in 'Directory':
String absolutePath = "C:\\Dropbox\\java\\Directory";
File dir = new File(absolutePath);
File[] filesInDir = dir.listFiles();
int i = 0;
for(File file:filesInDir) {
i++;
String name = file.getName();
String newName = "my_file_" + i + ".pdf";
String newPath = absolutePath + "\\" + newName;
file.renameTo(new File(newPath));
System.out.println(name + " changed to " + newName);
}
} // close main()
} // close class
# 1 楼答案
用于重命名给定目录中文件列表的示例代码。在下面的示例中,
c:\Projects\sample
是文件夹,下面列出的文件已重命名为0。txt,1。txt,2。txt等我希望这能解决你的问题
# 2 楼答案
类似的操作应该可以(Windows版本):
# 3 楼答案
如果您在Windows上,则应使用命令提示符或。蝙蝠档案。Windows支持在操作系统级别以本机方式进行通配符重命名,因此它将比Java快几个数量级,Java必须迭代所有名称并对每个名称发出重命名调用
# 4 楼答案
使用
File.listFiles(...)
列出目录中的文件,String.substring(...)
形成新的文件名,File.rename(...)
进行重命名但我建议您在开始重命名之前,让应用程序检查它是否可以重命名所有文件,而不会发生任何冲突
但是@Pascal的评论是正确的。Java不是做这类事情的最简单工具
# 5 楼答案
如果您在MacOS X上,并且希望从外部驱动器重命名文件夹和子文件夹中的所有文件,则以下代码将执行此操作:
# 6 楼答案
对于这类工作,Java是一个糟糕的选择。更好的选择是像Groovy这样的JVM脚本语言。如果你想追求这个选择
第1步:
下载并安装Groovy
第二步:
启动groovy控制台
第三步:
运行此脚本
这里我假设所有文件都在目录
/path/to/pdf/dir
中。如果其中一些位于该目录的子目录中,则使用File.eachFileRecurse
而不是File.eachFile