Java实现批量修改文件名和重命名的方法

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

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

import java.io.File;
import java.io.IOException;

/**
 * @Auther: Code
 * @Date: 2018/9/9 18:02
 * @Description: 批量重命名文件
 */
public class test {
  static String newString = "";//新字符串,如果是去掉前缀后缀就留空,否则写上需要替换的字符串
  static String oldString = "home.cnblogs.comu";//要被替换的字符串
  static String dir = "E:\文件\学习\教程\实战\test";//文件所在路径,所有文件的根目录,记得修改为你电脑上的文件所在路径

  public static void main(String[] args) throws IOException {
    recursiveTraversalFolder(dir);//递归遍历此路径下所有文件夹
  }
 /**
  * 递归遍历文件夹获取文件
  */
  public static void recursiveTraversalFolder(String path) {
    File folder = new File(path);
    if (folder.exists()) {
      File[] fileArr = folder.listFiles();
      if (null == fileArr || fileArr.length == 0) {
        System.out.println("文件夹是空的!");
        return;
      } else {
        File newDir = null;//文件所在文件夹路径+新文件名
        String newName = "";//新文件名
        String fileName = null;//旧文件名
        File parentPath = new File("");//文件所在父级路径
        for (File file : fileArr) {
          if (file.isDirectory()) {//是文件夹,继续递归,如果需要重命名文件夹,这里可以做处理
            System.out.println("文件夹:" + file.getAbsolutePath() + ",继续递归!");
            recursiveTraversalFolder(file.getAbsolutePath());
          } else {//是文件,判断是否需要重命名
            fileName = file.getName();
            parentPath = file.getParentFile();
            if (fileName.contains(oldString)) {//文件名包含需要被替换的字符串
              newName = fileName.replaceAll(oldString, newString);//新名字
              newDir = new File(parentPath + "/" + newName);//文件所在文件夹路径+新文件名
              file.renameTo(newDir);//重命名
              System.out.println("修改后:" + newDir);
            }
          }
        }
      }
    } else {
      System.out.println("文件不存在!");
    }
  }
}

重命名前效果图:

test目录:

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

修改后效果图:

控制台输出:

test目录:

test1目录:

到此这篇关于Java实现批量修改文件名和重命名的方法的文章就介绍到这了,更多相关Java批量修改文件名重命名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现文件批量重命名具体实例

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应的文件进行重命名.此外,还可以在重命名模板中添加特殊符号,程序会将这些特殊符号替换成重命名后的文件编号. 思路分析: 1.先看视图层,需要一些JLabel控件分别显示指示用户的信息,三个JTextField控件分别显示所选路径.输入文件名模板即输入扩展名,两个JButton控件分别用来浏览文件夹和开

  • Java 实现文件批量重命名亲测可用(精简版)

    之前在网上下载了很多视频,解压缩后,发现里面每个文件前面都有一长串的网址,导致我根本看不清每个视频的名字到底叫什么? 网上搜了一些批量重命名的方法,可都不是我想要的,既然这样,干脆自己动手用Java写一个吧.测了一下应该没问题,现在分享出来. 先上代码: import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** * 重命名规则类 * @author ja

  • java批量修改文件名的实现方法

     java批量修改文件名的实现方法 初次学习java,被java的灵活性和简洁的思路所吸引 需求: 看到java视频在播放器列表中的文件名很长,每次都需要拉长列表才能看清全名,故写此代码批量修改该文件夹下所有文件名 实现代码: import java.io.*; class filesRename { public static void main(String[] args) throws IOException { String str1 = new String("这里是需要删除的文件名前

  • java文件重命名(文件批量重命名)实例程序代码分享

    首先,查到java里文件重命名的方法为:renameTo(); 我将180张图片放在d:\\backup下,用下面的程序进行重命名: 复制代码 代码如下: public void reName(){        String dir = "D:\\backup\\";        File file = new File(dir);        String fileName[] = file.list();        int number = fileName.length

  • Java文件批量重命名批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一个一个找出来太麻烦,所以做了第二个功能. 最近刚刚学了Java文件和流的知识,所以正好练练手,这也是自己的第一个exe程序,分享一下哈. (导出jar文件,以及用工具exe4j生成exe文件,这部分省略了哈) 用到的知识: 用到Java中文件,流的知识,以及简单的GUI知识. 功能: 功能一:去除文

  • Java批量修改文件名的实例代码

    复制代码 代码如下: import java.io.*; import java.util.*;public class Test { public static void main(String[] args) throws IOException {        BufferedReader br = new BufferedReader(new FileReader("output1.txt"));        List<String> newName = new

  • Java实现批量修改txt文件名称的方法示例

    本文实例讲述了Java实现批量修改txt文件名称的方法.分享给大家供大家参考,具体如下: 最近在做特征选择的实验时,需要批量修改一下文件名称,在这里做一下记录. package com.cqu.experiment; import java.io.File; /** * @author 作者: E-mail:@126.com * @version 创建时间:2016年12月26日 下午3:02:01 类说明 */ public class RenameTxt { public static vo

  • Java实现批量修改文件名和重命名的方法

    平时下载的文件.视频很多都会有网址前缀,比如一些编程的教学视频,被人共享出来后,所有视频都加上一串长长的网址,看到就烦,所以一般会重命名后看,舒服很多,好了,不多说,直接上代码: 以下代码演示使用递归的方式批量重命名文件 import java.io.File; import java.io.IOException; /** * @Auther: Code * @Date: 2018/9/9 18:02 * @Description: 批量重命名文件 */ public class test {

  • node文件批量重命名的方法示例

    在一个实际需求中,需要对一批文件(如:文本.图片)进行重命名,按照数字编号.正好借此熟悉了一下node的fs文件操作,写了一个批量修改文件名的脚本. 需求 现有以下图片文件 需要批量修改文件名称,变为统一前缀名称并且自增索引,修改后效果 最简单的人力操作就是逐个文件重命名,但本着DRY(Don't repeat yourself)原则,还是写一个node脚本搞定. 研究 node中要进行文件操作需要了解一下fs模块 在fs模块中有同步和异步两种方式 读取文件 //异步 fs.readFile('

  • python批量修改文件名的实现代码

    #coding:utf-8 #批量修改文件名 import os import re import datetime re_st = r'(\d+)\+\s?\((\d+)\)' #用于匹配旧的文件名,需含分组 re_match_old_file_name = re.compile(re_st) #要修改的目录 WORKING_PATH = r'F:\Gallery' #---------------------------------------------------------------

  • Python实现批量修改文件名实例

    本文实例讲述了Python实现批量修改文件名的方法.分享给大家供大家参考.具体如下: 下载了评书<贺龙传奇>,文件名中却都含有xxx有声下载,用脚本将其去掉.脚本涉及os.rename重命名方法,str.partition方法使用, 及正则match,search方法区别 # encoding:utf-8 ## # 文件名如: # 贺龙传奇\d+[有声下吧www.ysx8.com].mp3 ## import os,re fs=os.listdir('单田芳_贺龙传奇') for f in f

  • python批量修改文件名的示例

    今天中午看了一集动漫<进击的巨人>,看完后发现这些视频的名称有点乱,于是编程来批量重命名. 重命名之前的各名称格式为--飞极速[www.feijisu.com][16][720P][CHS-JAP] AVC.mp4,可以看到这个中间是有集数的,因此可以使用正则表达式提取,导入re模块. 然后由于要修改文件名,需要用到os模块. os.listdir(path) 上面这行代码可以将路径path中所有的文件的名称放入一个列表中. os.path.abspath(name) 这行代码可以得到名为na

  • BAT脚本批量修改文件名的两种方法

    目录 一,先进入想要修改文件名的文件夹中,使用命令: 1.以示例文档为例进行说明 2.双击1.bat来生成yuan.xls文件,如下图: 二.直接通过BAT脚本实现 通过BAT脚本批量修改文件名的办法有两种: 一,先进入想要修改文件名的文件夹中,使用命令: dir /b "*.后缀名" > yuan.xls 从生成含有所需文件名的xls文件(即Excel文件),然后在xls文件中通过 CONCATENATE("ren ",A2," ",B2

  • python批量修改文件名的三种方法实例

    目录 前言 一.python批量修改文件名 二.python批量修改文件名(按顺序) 三.python批量修改文件名(删除指定字符) 总结 前言 当我们从网站爬取若干张图片,或需要将一些txt.excel.jpg等大批量的文件修改为有规律的名称,方便整理. 提示:以下是本篇文章正文内容,下面案例可供参考 一.python批量修改文件名 提示:待修改的文件夹下只能包含需要修改的文件,然后更改源码里面的路径即可. 1.源码 代码如下(示例): #批量修改文件名 #批量修改图片文件名 import o

  • 批处理实现批量修改文件名

    我们已经会使用循环命令对大量文件改名进行批量处理.但总结一下,该批处理并不是很健壮. 判断一个程序的好坏,往往不是站在程序员的角度,而从用户的角度出发. 比如:在用户使用它的时候,如果输入了不正确的路径格式怎么办?如果输入了含有非法符号的前缀怎么办?输入的扩展名也有问题怎么办?改完名后看不到是否执行成功的反馈信息,等等.带着这些想法,我们将原程序再次修改一下. :::::::批量修改文件名.bat::::::: @echo off title 批量修改文件名 setlocal EnableDel

  • python对指定目录下文件进行批量重命名的方法

    本文实例讲述了python对指定目录下文件进行批量重命名的方法.分享给大家供大家参考.具体如下: 这段python代码可对c:\temp目录下的所有文件名为"scroll_1"文件替换为"scroll_00" import os path = 'c:\\temp' for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: newname = file.replace

随机推荐