vCumulusly 2022-04-05 22:57 采纳率: 50%
浏览 184
已结题

用java程序将图片更名

在D盘下有2021文件夹,在此文件夹里面含有文件和文件夹,将2021文件夹里面所有.jpg格式文件,按照序号全部更名为zhang001.jpg、zhang002.jpg、…等。

  • 写回答

4条回答 默认 最新

  • CrazyDragon_King 2022-04-06 00:14
    关注
    
    public class FileRenamer {
        
        public static int index = 0;
        
        public static void main(String[] args) {    
            String filepath = "D:/DragonFile/rename";
            File src = new File(filepath);
            
            /*使用循环处理
             * 
             * 主要思路:首先对指定目录中的文件进行过滤,获取是文件,且扩展名为 .jpg的文件,
             * 然后对这些符号条件的文件进行特定的重命名操作。
             * */
            
            new FileRenamer().batchFileRename(src);
            System.out.println("执行完毕!");
        }
        
        public void batchFileRename(File file) {
            if (file.isFile() && file.getName().contains(".jpeg")) {
                File dest = new File(file.getParent(), "zhang" + String.format("%03d.jpg", index++));
                file.renameTo(dest);
            } else if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (File f : files) {
                    batchFileRename(f);
                }
            }
        }
        
    }
    

    专门给你写了一个程序(已经本地验证了),我来简述一下作用。
    指定一个源目录,然后它会递归访问该目录下的所有文件和文件夹,对于文件,它会判断是否是 .jpg 结尾的文件;
    对于目录,它会获取 该目录下所有的文件(文件和文件夹),然后执行上述同样的操作。但是不确定你这里的序号是什么,所以这里用了要给全局变量来记录文件的序号(这是我遍历的序号,可能不是你想要的)。如果你想要更加定制化的操作,可以再详细描述(认同了回答才行哦)。
    这里需要注意一点,一般情况下不建议使用 File 类下 renameTo 方法,该方法会将源文件转为目标文件(所以它的实质是文件移动!),所以如果命名之后你的源文件就没了(原来的命名就丢失了),所以建议你可以先备份源文件,再执行该代码。或者你应该考虑使用文件复制操作,如果想要的话,也可以定制。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月5日

悬赏问题

  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测