java使用递归批量修改文件扩展名

Posted 胖鹅68

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java使用递归批量修改文件扩展名相关的知识,希望对你有一定的参考价值。

文章目录

一、文章参考

  1. java使用递归批量修改文件扩展名

二、问题说明

场景一:UCD 给了几十张图片要求串联起来,做一个连续的动画,由于给的文件名不满足要求,因此就需要批量的修改文件名

场景二:在开发hmap地图的时候,公司提供的图层会自动获取‘hrte’的文件,例如“http://XXX:33333/地图server/map/目录/hrte/13/13325/5338.hrte?imgType=png&gridSize=256”,第三方模型公司提供的文件名是“terrain”格式的,如果一个一个去改不现实(有几百个文件夹,而且还是嵌套很深的),因此需要批量的修改

三、解决办法

3.1 bat 批处理 一个文件夹

ren *.* *.jpg

3.2 使用java递归修改文件夹下的文件扩展名

package com.demo;
import java.io.File;

public class FileRename 
  public static void main(String[] args) 
    File srcDir = new File("E:/hik/hmap/GeoData/map/nanyue/hrte");
    renmaeRecursion(srcDir);
  

  //使用递归遍历更改文件扩展名
  private static void renmaeRecursion(File srcDir) 
    String targetExtend = ".hrte";
    File[] files = srcDir.listFiles();
    for (File file : files) 
      if (file.isDirectory()) 
        renmaeRecursion(file);
      else 
        String fileName = file.getName();
        //System.out.println(file.getParentFile());
        //String[] strings = fileName.split("\\\\.");
        //增加判断逻辑,避免误操作.txt文件
        if (!fileName.contains(targetExtend)) 
          String newName = fileName.substring(0, fileName.lastIndexOf(".")) + targetExtend;
          file.renameTo(new File(file.getParentFile(),newName));
        
      
    

  

以上是关于java使用递归批量修改文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章

Java一键批量替换掉文件夹以及子文件的名称

java修改文件后缀名

3.批量修改文件名字, 递归删除文件夹

shell练习题:使用for循环批量修改文件扩展名

linux批量修改文件后缀名

如何批量修改文件后缀名?cmd命令 ren *.gif *.jpg