package io;
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 = "闭着眼睛飘单词";//要被替换的字符串
static String dir = "F:\\英语\\四级词汇MP3\\四级词汇MP3";//文件所在路径,所有文件的根目录,记得修改为你电脑上的文件所在路径 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("文件不存在!");
}
}
}

java批量修改指定目录下的文件名的更多相关文章

  1. 【Python】批量修改指定目录下所有文件的文件名/后缀

    [删除.txt文件的后缀] import os, shutil #rootdir = input("请输入文件路径(结尾加上/):") #fileList = os.listdir ...

  2. Linux批量修改指定目录下的文件或文件夹权限

    在Puppet下很头大,尤其是文件拷贝,使用file的mode会导致文件或文件夹都一个权限. 暂时使用命令代替: 最近忙着明年的N多计划,待有空后继续研究.

  3. Java 读取指定目录下的文件名和目录名

    需求:读取指定目录下的文件名和目录名 实现如下: package com.test.common.util; import java.io.File; public class ReadFile { ...

  4. Python —— 批量替换指定目录下的所有文件中指定字符串

    参考:http://blog.csdn.net/zcwfengbingdongguke/article/details/13951527 代码: #!/usr/bin/python import os ...

  5. Python批量删除指定目录下的指定类型的文件

    Python作为一种脚本语言.其很适合文件级的各种操作.以下的代码能够批量删除指定目录下的所有特定类型(CSV类型)的文件. import sys, csv , operator import os ...

  6. PHP 批量获取指定目录下的文件列表(递归,穿透所有子目录)

    //调用 $dir = '/Users/xxx/www'; $exceptFolders = array('view','test'); $exceptFiles = array('BaseContr ...

  7. python获取指定目录下所有文件名os.walk和os.listdir

    python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...

  8. Python--通过索引excel表将文件进行文件夹分类的脚本+读取指定目录下所有文件名的脚本

    1.通过索引excel表将文件进行文件夹分类的脚本,此脚本由于将ip和id对应并生成对应id的文件夹将文件进行分类,也可以任意规定表格内容,通过vul_sc_ip.txt和xlsx文件进行索引. # ...

  9. python中获取指定目录下所有文件名列表的程序

    http://blog.csdn.net/rumswell/article/details/9818001 # -*- coding: utf-8 -*-#~ #------------------- ...

随机推荐

  1. Image Processing and Analysis_21_Scale Space:Scale-Space for Discrete Signals——1990

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  2. 10.Vue请求远端数据库

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  3. 模块化开发之sea.js

    随着时间的推移,原生js越来越强大,es6中的improt,export已经可以实现模块化开发,但可惜的是现在的浏览器还不支持,需要进行编译,相信在不久的将来,一定会大行其道,今天我们来聊聊模块化开发 ...

  4. 分析可变形字符串序列StringBuilder 以及 StringBuffer之默认大小与扩容

    默认值初始化: 1.  首先明确 StringBuffer类与 StringBuilder类均继承了抽象类 AbstractStringBuilder类 无参构造方法 2. 源码中StringBuff ...

  5. 版本问题---cuda和tensorflow的版本对应关系

    cuda和tensorflow的版本有对应关系 https://tensorflow.google.cn/install/source#linux

  6. mysql 数据库的相关操作

    #coding=gbk #数据库的连接语句 import pymysql try: conn=pymysql.connect( host='127.0.0.1', port=3306, user='r ...

  7. 有关PHPstorm的git环境的配置和git密钥的生成总结

    phpstorm上配置git环境的配置总感觉很简单,没发现看似简单的东西浪费我好多时间.我在网上查了一下关于phpstorm的git环境的配置没有具体的总结 所以我把自己的配过程简单总结了一下 接下来 ...

  8. xfs 文件系统

    centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3 ext3和ext4的最大区别在于,ext3在fsck时需要耗费大量时间(文件越多,时间越长),而ext4 ...

  9. 四、vue基础--自定义组件

    1.语法:Vue.component("组件名字",{data,template}),代码如下: a. data: 必须是一个函数,有一个返回值.和vue里面的使用方法一样 b. ...

  10. Django内置email发送邮件

    ###Django内置email发送邮件 ####1.首先在settings.py文件设置相关参数 ```python STATIC_URL = '/static/' # 设置邮件域名 EMAIL_H ...