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 }

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

原文地址:https://www.cnblogs.com/Satu/p/10567862.html

时间: 2024-10-08 16:44:51

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

java批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码

原文:java批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码 源代码下载地址:http://www.zuidaima.com/share/1550463660264448.htm 今天有个需求,想把某个文件夹下所有后缀名为jsp的更改为ftl,本来想用bat实现对bat的高级语法也不太了解,后来发现还需要递归遍历所有的子文件夹,所以用java实现了一个功能一样的代码,有需要的牛人可以下载修改为自己想要的. 这样可以兼容windows和linux. package com.zuidaima

VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/7/9'' COMMENT: '批量修改文件夹下对应的所有文件名''==========

Java遍历文件夹下所有文件并替换指定字符串

应用场景:比如有一个深层次的文件目录结构,如:javaAPI 每个文件里面都有相同的内容,而我们要统一修改为其他内容.上千个文件如果一个个修改显得太不明智. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** *

Java删除文件夹及其包含文件

1 package com; 2 3 import java.io.File; 4 5 public class Local_Utils { 6 7 /** 8 * 删除本地文件夹及包含文件 9 * @param dir 10 */ 11 public static void deleteLocalDir(String dir){ 12 File file=new File(dir); 13 if(file.exists()){ 14 //delete()方法不能删除非空文件夹,所以得用递归方式

C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowDial

java非递归检索文件夹下所有文件的代码

把开发过程比较重要的一些内容段做个珍藏,下面的内容段是关于java非递归检索文件夹下所有文件的内容,应该是对大家有所帮助. DateFormat df = DateFormat.getDateTimeInstance();LinkedList<File> folders = new LinkedList<File>();LinkedList<File> filelists = new LinkedList<File>();File dir = new Fil

Java创建文件夹、创建文件

1.创建文件夹 /** * 判断文件夹是否存在 * @param myPath */ public static void judeDirExists(File myPath) { if (!myPath.exists()) { myPath.mkdirs();//多级文件夹目录 //myPpath.mkdir();//单级文件夹目录 System.out.println("创建文件夹路径为:"+ myPath.getPath()); } } 2.修改文件夹名称 /** * 通过文件路

JAVA批量修改文件名

今天看传智播客的JAVA视频,每次都是接着以前的看的,今天想找特定的一个视频温习一下,发现下载的视频每个视频的名字都很长,以至于后面能区分的那一部分都被忽略了,刚学了点JAVA,突然想着能不能把文件名前面相同的部分都给去掉,这样后面关于视频所讲内容的那一部分就可以显示出来了.好吧,试一下吧. 想了一下思路,首先应该找到要修改的文件所在的目录,获取要修改文件的文件名,然后得到删除不要的那一部分的文件名,给文件重命名完毕. 鉴于初学,很多地方还不是很懂,于是从网上了查了一段代码. import ja

批处理脚本遍历指定文件夹下的文件

批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,do 与 ( 间也有空格,否则命令会无法成功执行 ps:本节只讲用批处理脚本执行 for 命令遍历文件夹的场景,因此以下分析每个指令意义时,不介绍其他含义 []:表示此项指令为可选 [参数]:参数取值一共有四种: /d, /r, /l, /f,加上无参数,所以一共五种场景 无参:遍历当前路径的文件夹下