本文主要是介绍java批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原文:java批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码
源代码下载地址:http://www.zuidaima.com/share/1550463660264448.htm
今天有个需求,想把某个文件夹下所有后缀名为jsp的更改为ftl,本来想用bat实现对bat的高级语法也不太了解,后来发现还需要递归遍历所有的子文件夹,所以用java实现了一个功能一样的代码,有需要的牛人可以下载修改为自己想要的。
这样可以兼容windows和linux。
package com.zuidaima.fileutil;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;/**
**@author www.zuidaima.com
**/
public class BatchRename {public static void main(String[] args) {String dir = "c:/jsp/";File file = new File(dir);String srcSuffix = "jsp";String dstSuffix = "ftl";List<String> paths = listPath(file, srcSuffix);for (String path : paths) {File srcFile = new File(path);String name = srcFile.getName();int idx = name.lastIndexOf(".");String prefix = name.substring(0, idx);File dstFile = new File(srcFile.getParent() + "/" + prefix + "."+ dstSuffix);if (dstFile.exists()) {// 此处代码注意修改为自己想要的逻辑srcFile.delete();continue;}srcFile.renameTo(dstFile);}}/*** 获取指定路径下的所有符合条件的路径*/private static List<String> listPath(File path, String acceptSuffix) {List<String> list = new ArrayList<String>();File[] files = path.listFiles();Arrays.sort(files);for (File file : files) {if (file.isDirectory()) {List<String> _list = listPath(file, acceptSuffix);list.addAll(_list);} else {String name = file.getName();int idx = name.lastIndexOf(".");String suffix = name.substring(idx + 1);if (suffix.equals(acceptSuffix)) {list.add(file.getAbsolutePath());}}}return list;}
}
这篇关于java批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!