用Java写程序,使用File类将特定目录下的所有文件进行重命名,在源文件主名后面加上文件最后被修改的时间(yyyy-mm-dd),文件的扩展名不变
时间: 2024-03-05 07:48:15 浏览: 51
好的,这个问题我可以帮你解决。以下是使用Java的File类实现对特定目录下的所有文件重命名,在源文件主名后面加上文件最后被修改的时间(yyyy-mm-dd),文件的扩展名不变的代码:
```java
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileRenameExample {
public static void main(String[] args) {
// 指定要重命名的目录
String dirPath = "D:/example";
// 创建File对象
File dir = new File(dirPath);
// 获取目录下的所有文件
File[] files = dir.listFiles();
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 遍历所有文件
for (File file : files) {
// 获取文件最后修改时间
long lastModified = file.lastModified();
Date date = new Date(lastModified);
String dateStr = sdf.format(date);
// 获取文件名和扩展名
String fileName = file.getName();
String fileExt = fileName.substring(fileName.lastIndexOf("."));
// 构造新的文件名
String newFileName = fileName.substring(0, fileName.lastIndexOf(".")) + "_" + dateStr + fileExt;
// 构造新的File对象
File newFile = new File(dirPath + "/" + newFileName);
// 重命名文件
if (file.renameTo(newFile)) {
System.out.println("文件重命名成功:" + newFile.getName());
} else {
System.out.println("文件重命名失败:" + file.getName());
}
}
}
}
```
你可以将dirPath变量设定为你想要重命名文件的目录。代码遍历目录下的所有文件,获取每个文件的最后修改时间,并使用SimpleDateFormat格式化日期。然后构造新的文件名,将原文件重命名为新文件名。
阅读全文