java 批量重命名指定文件夹中所有文件 递增方式命名 前后缀方式命名
来源:互联网 发布:知乎 胸下夹笔福利 编辑:程序博客网 时间:2024/05/21 07:52
重命名方式主要有两种方式:
1.前后缀方式命名。
reNameFolder(path,prefix,suffix,srcformat,desformat);
path批处理文件路径
prefix|前缀添加内容
suffix后缀添加内容
srcformat是否过滤文件的文件格式,null为不过滤
desformat是否重命名文件的文件格式,null为保持原有格式
如原来文件名称:D:/face/life.jpg 重命名后 D:/face/前缀内容life后缀内容.jpg
2.递增方式命名。
reNameFolder(path,start,offset,prefix,suffix,srcformat,desformat);
path批处理文件路径
start 开始递增量
offset 递增偏移量
prefix|前缀添加内容
suffix后缀添加内容
srcformat是否过滤文件的文件格式,null为不过滤
desformat是否重命名文件的文件格式,null为保持原有格式
如原来文件名称:D:/face/life.jpg 重命名后 D:/face/前缀内容后缀内容1.jpg
3.更多方式重命名
可以根据提供的参数重载多种方法,如递增时保留原有名称,递增时去掉原有名称,重命名是另开目录保存等等。
import java.io.File;/** * ======================================== * <p/> * 版 权:dou361 版权所有 (C) 2015 * <p/> * 作 者:陈冠明 * <p/> * 个人网站:http://www.dou361.com * <p/> * 版 本:1.0 * <p/> * 创建日期:2016/1/13 * <p/> * 描 述: * <p/> * <p/> * 修订历史: * <p/> * ======================================== */public class ReNameFolder<span style="font-family: Arial, Helvetica, sans-serif;"> {</span> /** * @param args */ public static void main(String[] args) { System.out.println("---------------------开始操作-------------------"); reNameFolder(new File("C:\\Users\\Administrator\\Desktop\\Face"), 0, 1, "jjdxm_", "", null, null); System.out.println("---------------------操作完成-------------------"); } /** * 重命名指定文件夹下的所有文件前后缀方式 * * @param path 路径 * @param prefix 前缀 * @param suffix 后缀 * @param srcformat 原有格式过滤 * @param desformat 转换格式 */ private static void reNameFolder(File path, String prefix, String suffix, String srcformat, String desformat) { reNameFolder(path, -1, -1, true, prefix, suffix, srcformat, desformat); } /** * 重命名指定文件夹下的所有文件递增方式 * * @param path 路径 * @param start 开始位置 * @param offset 偏移量 * @param prefix 前缀 * @param suffix 后缀 * @param srcformat 原有格式过滤 * @param desformat 转换格式 */ private static void reNameFolder(File path, int start, int offset, String prefix, String suffix, String srcformat, String desformat) { reNameFolder(path, start, offset, false, prefix, suffix, srcformat, desformat); } /** * 重命名指定文件夹下的所有文件 * * @param path 路径 * @param prefix 前缀 * @param suffix 后缀 * @param start 起始位置 * @param offset 偏移量 * @param srcformat 原有格式过滤 * @param desformat 转换格式 */ private static void reNameFolder(File path, int start, int offset, boolean saveOldName, String prefix, String suffix, String srcformat, String desformat) { if (!path.exists()) { return; } if (prefix == null) { prefix = ""; } if (suffix == null) { suffix = ""; } /** 当前目录 */ File[] files = path.listFiles(); for (File file : files) { if (file.isDirectory()) { reNameFolder(file, start, offset, saveOldName, prefix, suffix, srcformat, desformat); } else { /** 旧文件名称,去后缀 */ String oldName; /** 新文件名称,完整路径 */ StringBuilder newName = new StringBuilder(); /** 新文件后缀 */ String newfix; String fileName = file.getName(); int index = fileName.lastIndexOf("."); /**-------------旧文件名不包含后缀-------------------*/ if (index == -1) { /** 无后缀文件 */ oldName = fileName; } else { /** 有后缀文件 */ oldName = fileName.substring(0, index); } /**-------------旧文件名不包含后缀-------------------*/ /**-------------新文件后缀-------------------*/ if (desformat == null) { if (index == -1) { newfix = null; } else { newfix = fileName.substring(index + 1); } } else { newfix = desformat; } /**-------------新文件后缀-------------------*/ newName.append(file.getParent()); newName.append(File.separator); newName.append(prefix); if (saveOldName) { newName.append(oldName); } newName.append(suffix); if (start >= 0 && offset > 0) { newName.append(start + ""); start = start + offset; } if (srcformat == null) { /** 没有加过滤,操作所有文件 */ if (newfix != null) { newName.append("."); newName.append(newfix); } File newFile = new File(newName.toString()); if (newFile.exists()) { /** 如果重命名的文件已经存在,则不重命名 */ System.out.println("rename----oldFile----" + oldName + "----newFile----" + newFile.getName() + "----fails"); } else { file.renameTo(newFile); } } else if (file.getName().endsWith("." + srcformat)) { /** 有加过滤,操作过滤文件 */ newName.append("."); newName.append(newfix); File newFile = new File(newName.toString()); if (newFile.exists()) { /** 如果重命名的文件已经存在,则不重命名 */ System.out.println("rename----oldFile----" + oldName + "----newFile----" + newFile.getName() + "----fails"); } else { file.renameTo(newFile); } } } } }}
0 0
- java 批量重命名指定文件夹中所有文件 递增方式命名 前后缀方式命名
- 批量修改图像命名方式
- [shell]交互方式重命名文件夹内所有文件
- 三极管所有的命名方式
- JAVA命名方式
- Java版本号命名方式
- java实现文件后缀命名
- 命名方式
- Android多国语言文件夹命名方式
- Android多国语言文件夹命名方式
- Android多国语言文件夹命名方式
- 利用Shell语言批量有序命名某一文件夹下的所有文件
- 辨析C++中头文件的命名方式
- php批量重命名某个文件夹下所有的文件
- java:批量读取文件并重命名文件
- python批量命名文件
- python多位数字递增批量命名
- CMD批处理所有子文件夹中的文件按子文件夹名称命名并提取到一个文件夹中
- Linux Mysql 误删除授权表root记录
- windows上自动化脚本的一次探索
- RecyclerView与ScrollView嵌套使用解决方案
- UI控件 简单
- it大牛高洛峰收徒
- java 批量重命名指定文件夹中所有文件 递增方式命名 前后缀方式命名
- Spring ApplicationContext 中的getBean方法的深入分析
- 走迷宫
- java.io.NotSerializableException: java.util.ArrayList$SubList
- 非常好的opengl 教程
- UICollectionView的header悬停
- Android AsyncTask简介-知识点+代码
- 设置Eclipse中的tab键为4个空格的完整方法
- iOS 获取设备