java使用递归批量修改文件扩展名
Posted 胖鹅68
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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使用递归批量修改文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章