当前位置: 首页 > news >正文

文件批量重命名【JAVA】【正则表达式】

文件批量重命名

背景: 下载别人的markdown 文件,里面的图片是绝对地址,导致不显示。
修改成相对地址即可成功显示。
利用正则表达式选取需要替换的部分,替换成你需要更改的新文件名字


import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class test {public static void main(String[] args) {// 需要修改的文件所在的文件夹,按需更改String filePath = "D:\\image\\";File file = new File(filePath);// 正则表达式,这里只是提供参考。每个人的需求不一定相同。// 我这里是将 %asdfasasdfasdfasdfadfasf%123.png// 修改成 imgae-123.pngString p = "(%.*%)";Pattern r = Pattern.compile(p);// 列出该文件夹下所有文件File[] list = file.listFiles();if (file.exists() && file.isDirectory()) {if (list != null) {for (File value : list) {// 文件名String line = value.getName();// 现在创建 matcher 对象Matcher m = r.matcher(line);// 匹配到了则修改if (m.find()) {// 文件的新名字String newLine = line.replaceAll(m.group(1), "image-");// 对比修改前后文件名称System.out.println("Found value: " + m.group(0));System.out.println(newLine + "\n");// 将文件重命名File dest = new File(filePath + newLine);if( value.renameTo(dest)){System.out.println("修改成功");}else{System.out.println("文件修改失败");}} else {System.out.println("NO MATCH");}}}}}
}

http://www.mrgr.cn/news/9922.html

相关文章:

  • 餐饮商标怎么注册自己的品牌!
  • 苹果微信误删了聊天记录怎么恢复?4个方法,几分钟就能恢复
  • ICCV2023:Co-DETR:DETRs与协同混分配训练
  • 手撕顺序表
  • AWS EC2的独特优势,让云计算更简单高效!
  • http的host字段
  • Yolo环境搭建(深度学习基础环境)
  • MySQL——多表操作(二)操作关联表(3)删除数据
  • 邀请函 | 深圳网商天下与您相约2024(第五届)全数会
  • 容器化性能测试-通篇讲解 Locust 性能测试
  • 使用C#的异步和依赖注入实现网络数据存储
  • 配置PXE预启动执行环境:Kickstart自动化无人值守安装
  • Django 后端架构开发:JWT 项目实践与Drf版本控制
  • 哪种运动耳机适合骑行使用?精选五款品牌优质的运动耳机推荐
  • 在MacOS上升级Ruby版本
  • C语言内存操作函数
  • vue中实现图片裁剪
  • 【PDFBox 缺失类库异常解决】
  • 【R语言】基于多模型的变量重要性图 (Variable Importance Plots)
  • 计算循环冗余码(CRC)--软考笔记