欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java如何批量修改图片文件名

程序员文章站 2022-04-10 19:40:27
随机找到一个要转换的图片路径放入到realPath里,会自动获取批量图片路径,假设其中一个图片名称为aa_1.jpg,代码注释将解释怎么转换,最后转换为mmmm为新的名字,再去批量修改。import java.io.File;class Demo{ public static void main(String[] args) { String realPath = "图片路径\\图片名称.jpg"; int a = realPath.lastInd....

随机找到一个要转换的图片路径放入到realPath里,会自动获取批量图片路径,假设其中一个图片名称为aa_1.jpg,代码注释将解释怎么转换,最后转换为mmmm为新的名字,再去批量修改。

import java.io.File;
class  Demo
{
    public static void main(String[] args)
    {
        String realPath = "图片路径\\图片名称.jpg";
        int a = realPath.lastIndexOf("\\");
        String folderPath = realPath.substring(0,a);
        File file = new File(folderPath);
        String dirPath = file.getAbsolutePath();
        if (file.isDirectory())
        {
            File [] files = file.listFiles();
            for (File fileFrom :files )//遍历路径下的每一个图片
            {
                String fromFile = fileFrom.getName();
                if (fromFile.endsWith(".jpg"))//获取当前图片名称 -> aa_1
                {
                    fromFile = fromFile.substring(0,fromFile.lastIndexOf("."));
                    String[] sname = fromFile.split("_");//分隔 aa_1 ,拆分为aa和1
                    String mmmm = "";
                    String reluct = sname[1];//去数组第二个字段,为 1
                    int i = Integer.parseInt(reluct);
                    if (i < 10){// 转换图片名称为三位数字
                        mmmm = "00" + i;
                    }
                    if (i >=10 && i<100){
                        mmmm = "0" + i;
                    }
                    if (i >= 100){
                        mmmm = ""+i;
                    }
                    String toFileName = dirPath+ "\\"+mmmm+".jpg";//mmmm为修改后的图片名称
                    File toFile = new File(toFileName);


                    if (fileFrom.exists()&&!toFile.exists())//开始重命名
                    {
                        fileFrom.renameTo(toFile);
                    }
                }
            }
        }
    }
}

本文地址:https://blog.csdn.net/qq_44521254/article/details/110147287