利用I/O文件的renameTo()对文件进行批量改名案例

renameTo()方法:

  • boolean renameTo(File dest) :重命名由此抽象路径名表示的文件。
  • 参数 :dest - 命名文件的新抽象路径名
  • 结果 :true当且仅当重命名成功; 否则false

        运行代码前文件名

        运行代码: 

public static void main(String[] args) {
        //获取要批量改名的文件夹路径
        String src="C:\\Users\\21309\\Pictures\\二维码";
        File file=new File(src);
        if (file.isDirectory()){
            //将文件夹下的文件存入数组
            File[] files=file.listFiles();
            //声明一个计数器
            int index=0;
            //遍历遍历文件夹下的子文件
            for (File file1 : files) {
                //获取文件夹下子文件的文件名
                String filename=file1.getName().toLowerCase(Locale.ROOT);
                //截取文件后缀名
                int pos=filename.lastIndexOf(".");
                String exn=filename.substring(pos+1);
                //判断是否为相同文件名文件
                if ("png".equalsIgnoreCase(exn)){
                    //设置文件同意命名格式
                    String newFilename=String.format("CSDN-%03d.%s",++index,exn);
                    //将文件按规定格式命名到指定路径下
                    file1.renameTo(new File("C:\\Users\\21309\\Pictures\\二维码",newFilename));
                }
            }
        }
    }

        运行代码后文件名

注意:

        1.source不管是代表一个目录,还是一个文件的路径都必须是在磁盘上存在的,如:E:\access\A代表,在E盘的access文件夹下有一个名字为A的文件夹;或E:\access\cookie2.java表示在E盘的access文件夹下有一个名字为cookie2.java的文件。
        2.dest则恰恰相反,代表一个不存在的目录或文件路径(仅限最后一个’'后面文件夹或文件的不存在(必须,否则无法完成),其余的目录必须已存在)。
其中1,2两点必须同时具备,否则出错(返回false)。

        因此,可以利用上述操作实现文件的移动(注意,不是复制)。将source中的文件移动至dest目录下,也可以改变文件的类型,执行完renameTo操作后,原有位置的文件不存在,被移动至dest处,且被更改为dest中抽象文件的名字和类型。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涵冰...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值