怎么批量修改html文件后缀,怎么批量修改文件后缀

问题是这样的,有一个web项目,其中包含很多以html为后缀的文件(分别在不同目录下),如今想把他们的后缀改为 jsp,如果手工改的确比较累人,我比较喜欢偷懒,于是写个小程序帮我干,这样以后遇到此类问题就可以一劳永逸了,哈哈,是不是很爽呢。

Java代码如下(阅读将就将就吧,UC改版后插入代码功能老有问题,所以直接贴上算了。ps:):

参数说明:

/*

src_dir—— 需要修改的文件所在目录

des_dir —— 修改后保存文件所在目录

fromSuffix —— 需要修改的文件后缀

toSuffix —— 修改后的文件后缀

includeChild —— 是否包含子目录(递归)

*/

public static void rename(String src_dir, String des_dir,

String fromSuffix, String toSuffix, boolean includeChild)

{

if(null == src_dir || null == des_dir || null == fromSuffix || null == toSuffix)

return;

try {

if(!des_dir.endsWith("/") && !des_dir.endsWith("\\")) {//为安全起见,做下安检

des_dir += "/";

System.out.println("des_dir=" + des_dir);

}

File des_directory = new File(des_dir);

// 瞧瞧目标目录是否存在先,不存在咱就弄一个

if(!des_directory.exists() && !des_directory.isDirectory()) {

//System.out.println(des_directory + " not exits or is not a directory.");

des_directory.mkdirs(); //(与mkdir有区别)如果当前路径中包含的父目录不存在时,也会自动根据需要创建。

}

File file = new File(src_dir);

File[] srcFiles = file.listFiles();

for (int i = 0; i < srcFiles.length; i++) {

if (srcFiles[i].isDirectory()) {

if(includeChild) { // 递归进入子目录

String absPath = srcFiles[i].getAbsolutePath() + "/";

//System.out.println("srcDir:" + absPath);

rename(absPath, des_dir + absPath.substring(src_dir.length()), fromSuffix, toSuffix, includeChild);

}

} else {

if (srcFiles[i].getName().endsWith(fromSuffix)) {

//抽取文件名

int index = srcFiles[i].getName().lastIndexOf(".");

String fileName = srcFiles[i].getName().substring(0,index);

//拼凑新的路径

String path = des_dir + fileName + toSuffix;

System.out.println("rename:" + path);

File dest = new File(path);

if(dest != null)

srcFiles[i].renameTo(dest); //源文件会被删

}

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

阅读(2799) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值