用Java代码批量重命名文件

昨天做实验,采了很多图,由于使用了之前版本的采图程序,导致图片的命名全部错了,就是在小于10的数字前面没有加0,如02。导致接下来跑另一个程序的时候读图顺序总是出错,故写了一个代码批量重命名了这些文件。由于正则表达式不会写,只能用了最笨的方法来做。

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Test {
	public static void main(String[] args) {
		String path = "F:/20180924L1/1000hz_2"; // 要批量修改的文件所在的目录
		File file = new File(path);
		boolean isDirectory = file.isDirectory();
		if (!isDirectory) { // 如果不是文件夹,就返回
			System.out.println(path + "不是文件夹!");
			return;
		}
		String[] files = file.list();
		File f = null;
		String newFileName = ""; // 新的文件名字
		String oldFileName = ""; // 旧的文件名字
		for (int i = 0; i < files.length; i++) { // 遍历该文件夹下的所有文件
			oldFileName = files[i];
			newFileName = oldFileName;

			boolean x1 = false;
			boolean x2 = false;

			int a, b, c, d;
			a = oldFileName.indexOf("_");
			b = oldFileName.indexOf(".");
			c = oldFileName.lastIndexOf("_");
			d = oldFileName.indexOf(".", c);
			String snum1 = oldFileName.substring(a + 1, b);
			String snum2 = oldFileName.substring(c + 1, d);
			if (Integer.parseInt(snum2) < 10) {
				newFileName = newFileName.substring(0, c + 1) + "0" + newFileName.substring(c + 1);
				x1 = true;
			}
			if (Integer.parseInt(snum1) < 10) {
				newFileName = newFileName.substring(0, a + 1) + "0" + newFileName.substring(a + 1);
				x2 = true;
			}
			// 如果文件名没变,跳过它
			if (!(x1 || x2)) {
				continue;
			}

			// 将修改后的文件保存在原目录下
			f = new File(path + "/" + oldFileName);
			f.renameTo(new File(path + "/" + newFileName));
		}
	}
}
复制代码

把一大批类似于

String s = "1000hz_12.0v1_6.0v2.jpg";
复制代码

这样的文件名重命名为

"1000hz_12.0v1_06.0v2.jpg"复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请使用jdk1.4以上版本。如果有打不开等现象可以直接联系我 msn:abczww@163.com 1.选择“当前路径”,工具会将当前文件夹下的所有文件(自己除外)命名。 2.选择“选择路径”,工具会将制定文件夹下的所有文件命名。 3.选择“命名为”,工具会所有文件统一名称例如输入“文件”则命名为:文件1.jpg,文件2.jpg,文件3.jpg...。 4.选择“统一后缀”,工具会将制定文件夹下所有文件,统一成相同后缀,如果文件既有jpg又有jpeg或想统一后缀的大小写建议使用该功能,该功能可能会导致修改后缀后文件不能打开,请谨慎使用。 5.选择“开始数字”,工具会从制定数字开始命名,例如输入16,则文件命名为为:***16.**,***17.**,***18.**...。 6.选择“补齐位数”,工具会补齐数字位数。例如:输入3,则文件命名为:***001.**,***002.**,***003.** ...。 7.选择“递归文件夹下的所有文件”,工具会对文件夹下的所有文件(包括子文件夹)命名。 8.选择“命名包括隐藏文件”,工具在命名的过程中会命名隐藏文件,一般不会使用该功能。 9.“当前路径”和“选择路径”必须选其一,没有默认。 10.“开始数字”范围是0至10000。 11.“补齐位数”最多补齐10位。 12.文件命名操作不可逆!,操作时请谨慎以免命名了不该命名文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值