Java 批量修改文件夹里面的文件的名字

背景:公司要求使用PADS完成原理图设计、PCB Layout。而他硬件工程师要求我在将PADS的库文件发送给他们之前,必须在每一个库文件的后面追加今天的日期,再发送给他们。

问题来了,如果一次需要发送多个库文件,那我就得修改很多个库文件的名字,这个过程十分繁琐枯燥、费时费力。

于是,我想:能不能使用Java语言设计一个程序,用于批量修改某个文件夹里面的文件的名字呢?

答案是肯定的。于是,趁着今天周末有空,动动脑子和手,解决这些问题。

修改前的文件名:

程序

 1 import java.io.File;
 2 import java.text.DateFormat;
 3 import java.text.SimpleDateFormat;
 4 import java.util.Date;
 5 
 6 public class IOFileTest {
 7 
 8     public static void main(String[] args) {
 9         // 日期格式,例如:20190331
10         DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
11         
12         // 指定路径
13         File filepath = new File("E:/PADS/Libraries/temp");
14         
15         // 列出该路径下所有文件
16         File[] originalfiles = filepath.listFiles();
17         for (int i = 0; i < originalfiles.length; i++) {
18             System.out.println(dateFormat.format(new Date()));
19             
20             // 获取父目录
21             String parentDirectory = originalfiles[i].getParent();
22             
23             StringBuilder stringBuilder = new StringBuilder(originalfiles[i].getName());
24             // 搜索".",因为"."之后文件的后缀名,将要追加的字符串是添加在后缀名前面的
25             int index = stringBuilder.lastIndexOf(".");
26             // 在后缀名前面插入今天的日期
27             stringBuilder.insert(index, "_" + dateFormat.format(new Date()));
28             
29             // 重命名文件
30             File newFile = new File(parentDirectory + File.separator + stringBuilder);
31             if (originalfiles[i].renameTo(newFile)) {
32                 System.out.println("The original file is " + originalfiles[i].getName());
33                 System.out.println("The new file is " + newFile.getName());
34                 System.out.println();
35             } else {
36                 System.out.println("Fail!");
37             }
38         }
39     }
40 }

运行结果(修改后的文件名):

猜你喜欢

转载自www.cnblogs.com/Satu/p/10567862.html