平时下载的文件、视频很多都会有网址前缀,比如一些编程的教学视频,被人共享出来后,所有视频都加上一串长长的网址,看到就烦,所以一般会重命名后看,舒服很多,好了,不多说,直接上代码:

以下代码演示使用递归的方式批量重命名文件

 1 import java.io.File;
 2 import java.io.IOException;
 3
 4 /**
 5  * @Auther: Code
 6  * @Date: 2018/9/9 18:02
 7  * @Description: 批量重命名文件
 8  */
 9 public class test {
10     static String newString = "";//新字符串,如果是去掉前缀后缀就留空,否则写上需要替换的字符串
11     static String oldString = "home.cnblogs.comu";//要被替换的字符串
12     static String dir = "E:\文件\学习\教程\实战\test";//文件所在路径,所有文件的根目录,记得修改为你电脑上的文件所在路径
13
14     public static void main(String[] args) throws IOException {
15         recursiveTraversalFolder(dir);//递归遍历此路径下所有文件夹
16     }
17  /**
18    * 递归遍历文件夹获取文件
19    */
20     public static void recursiveTraversalFolder(String path) {
21         File folder = new File(path);
22         if (folder.exists()) {
23             File[] fileArr = folder.listFiles();
24             if (null == fileArr || fileArr.length == 0) {
25                 System.out.println("文件夹是空的!");
26                 return;
27             } else {
28                 File newDir = null;//文件所在文件夹路径+新文件名
29                 String newName = "";//新文件名
30                 String fileName = null;//旧文件名
31                 File parentPath = new File("");//文件所在父级路径
32                 for (File file : fileArr) {
33                     if (file.isDirectory()) {//是文件夹,继续递归,如果需要重命名文件夹,这里可以做处理
34                         System.out.println("文件夹:" + file.getAbsolutePath() + ",继续递归!");
35                         recursiveTraversalFolder(file.getAbsolutePath());
36                     } else {//是文件,判断是否需要重命名
37                         fileName = file.getName();
38                         parentPath = file.getParentFile();
39                         if (fileName.contains(oldString)) {//文件名包含需要被替换的字符串
40                             newName = fileName.replaceAll(oldString, newString);//新名字
41                             newDir = new File(parentPath + "/" + newName);//文件所在文件夹路径+新文件名
42                             file.renameTo(newDir);//重命名
43                             System.out.println("修改后:" + newDir);
44                         }
45                     }
46                 }
47             }
48         } else {
49             System.out.println("文件不存在!");
50         }
51     }
52 }

重命名前效果图:test目录:

test1目录:以此类推,test3和test4都一样的文件名

修改后效果图:控制台输出:

test目录:


test1目录:

对你有用的收藏点个赞,谢谢!

转载于:https://www.cnblogs.com/CodeKjm/p/9615815.html

Java实现批量修改文件名,重命名相关推荐

  1. python 文件名批量修改、重命名

    该脚本用于文件名的批量修改.重命名 # -*- coding: utf-8 -*- import os from os import listdirdef main():gt_path = 'C:\\ ...

  2. Java实现批量修改文件名

    本文主要讲述如何通过 Java 语言实现批量多层级修改文件名. 现象描述 不知道伙伴们有没有遇到这样的问题:当你从网上下载一些资源的时候,每个文件名上都加上了一些推广信息 ⬇️ 更夸张的是,当下载的资 ...

  3. windows下使用cmd命令文件批量重命名批量修改后缀重命名快捷键

    windows下重命名快捷键 按下F2重命名当前选中文件,输入完新的文件名之后不要回车保存,直接按下Tab键就会进入下一个文件的重命名. windows 下批量修改文件后缀 使用ren或者rename ...

  4. 文件批量重命名工具,批量修改文件名的实现思路

    在工作中可能会遇到文件数据成果已经制作完成后,遇到文件命名规则变更,需要对大量文件重命名,甚至修改目录结构的.本文介绍利用FME实现文件批量重命名的解决方法. 因为工作实际情况各不相同,文件重命名规则 ...

  5. 百度网盘批量重命名工具怎么用,百度网盘怎么批量修改文件名

    这里写百度网盘批量重命名工具怎么用,百度网盘怎么批量修改文件名自定义目录标题 很多时候,我们百度网盘里的文件需要重命名,方便我们整理文件.如果一个一个修改,很费时费力,那么,有没有百度网盘批量重命名工 ...

  6. java修改服务器文件名,批量修改文件名 java代码

    批量修改文件名 java代码 [2021-02-03 13:40:55]  简介: php实现批量修改文件名称的方法:首先使用函数[rename]实现,代码为[$path = pathinfo($cu ...

  7. matlab文件名加前缀_利用MATLAB批量对文件重命名

    利用MATLAB批量对文件重命名 tags: - MATLAB - 科研软件 序 没paper,实验肯定要做啊,不做就毕不了业 . 编程这方面,编程是不可能编程的,这辈子不可能编程的 . paper又 ...

  8. 批量修改文件名(Java)

    批量修改文件名(Java) ​ 最近领导给了个任务,叫我验证一下大量的图片文件,将图片放到服务器上.图片在数据库里的路径基本全是*/.JPG, 而具体的图片文件名称有"jpg".& ...

  9. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

最新文章

  1. Django-C002-深入模型,到底有多深
  2. 【java】快速复制数组方法arraycopy的使用
  3. python 读excel中一个表_python – pandas read_excel在同一张表上的多个表
  4. java批量导入和批量删除_MyBatis批量添加、修改和删除
  5. android通话记录列表apk,android打电话,发短信,获取通讯录、通话记录、短信记录...
  6. shell 水平测试
  7. 死磕Synchronized底层实现--偏向锁
  8. leetcode111 爬楼梯 python实现
  9. 单元测试(三)基本使用
  10. mysql batch 失败_mysql突然挂掉,重启失败,求助
  11. 采用组策略Loopback功能限制文件夹重定向路径
  12. 05 jQuery的DOM操作
  13. OSPFv3中LSA详解(四)——Link LSA详解
  14. repeater 的编辑功能
  15. L1-049 天梯赛座位分配(模拟)
  16. 2019年税收分类编码_您如何在2019年学习编码
  17. python 网格搜索_Python机器学习笔记:Grid SearchCV(网格搜索)
  18. linux tar文件夹打包不包含目录,tar打包如何不打包某一个文件夹(排除某些文件夹)...
  19. 【ACM竞赛】 动态规划
  20. android studio增量包,Android Studio 更新升级之增量升级

热门文章

  1. 【Java基础】异常处理与输入输出流
  2. (0097)iOS开发之应用间的分享系列(2)
  3. 兼容IE8,滚动加载下一页
  4. 【Cucumber】【命令行】
  5. [Codeforces50C]Happy Farm 5 凸包
  6. jquery选中checkbox
  7. JVM学习笔记(一)------的基本结构
  8. http://www.cnblogs.com/QJohnson/archive/2011/06/24/2089414.html
  9. 串口基础类库(WIN32)异步通信 _COM_H 源代码
  10. realloc,malloc,calloc的区别