【小工具】一个Java批量修改指定文件夹下的文件名。复习下File及政治表达式
平时下载的文件、视频很多都会有网址前缀,比如一些编程的教学视频,被人共享出来后,所有视频都加上一串长长的网址,看到就烦,所以一般会重命名后看,舒服很多
起因:
凯哥最近再看一个视频,从网上下载的,但是,因为其他网站把所有的文件都添加了其自己的信息。看上很长。而且影响到有些文档的使用。比如使用markdown写的,图片直接再img下。因为,文件名称添加了其他信息,导致再打开的时候,图片查看不到。
解决方案:
写个程序,把所有的相关的文字都去掉。
比如:高并发【凯哥 Java kaigejava】.png 这一类的都去掉。
其中把【凯哥 Java kaigejava】去掉。
思路:
1:根据输入的文件夹目录,遍历所有的文件,如果是文件夹接着遍历。
这里就会使用到【递归】这个思路
2:file类的几个常用方法
获取文件夹下的所有文件:File[] fileList = file.listFile();
判断一个文件是否是文件夹:file.isDirectory();如果是文件夹,进行递归处理
文件重命名:file.renameTo(newFile);
3:因为【xxx】里面又不是规律的。这个时候,就需要使用正则来匹配了。
先判断是否包含了“【”.如果包含了,使用正则进行匹配: String rgex = "\\【(.*?)\\】";
如果符合规则,将其替换掉即可。
先看相关代码截图:

正则处理及替换:

再来看看处理后的效果:

完整的简单代码:
public static void main(String[] args) throws Exception {
String pathName = "E:\\BaiduNetdiskDownload\\【凯 哥Java kaigejava】凯哥项目 - Java Springboot2.0(资料、代码。讲义)完整";
String oldStr = "原创不易,完成人机校验,阅读全文
相关推荐
JSJS 正则表达式(数字、正则)工作小总结&小工具类JAVA 根据指定目录:C:\Users\n\Desktop\地铁发票获取所有文件名称。然后使用正则表达式提取出文件名字中数字部分。注意,数字带有小数点。 然后封装成集合对象。对象中两个属性:文件名称,金额。怎么写经验分享Centos7与windows的文件夹共享问题。Centos怎么创建共享文件夹JAVA8新特性采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集工作小总结&小工具类Linxu中怎么修改文件或者文件夹所有者和所属组改经验分享怎么将windows的文件夹挂载到Centos7操作系统下?经验分享【已解决】springboot项目中引入本地依赖jar包,如何打包到lib文件夹中工作小总结要批量更新,指定值的