1. 程式人生 > >Java 批量修改文件夾裏面的文件的名字

Java 批量修改文件夾裏面的文件的名字

必須 重命名文件 style 原理 img 解決 某個文件 路徑 index

背景:公司要求使用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 }

運行結果(修改後的文件名):

技術分享圖片

Java 批量修改文件夾裏面的文件的名字