修改文件夹下所有文件扩展名 的java 或者JavaScript方法

本人急需这样的JavaScript方法或者java方法:一个文件夹下的所有*.txt文件包括其子文件下的*.txt文件全部修改成其他扩展名的文件。本人在线等!最好有个页面... 本人急需这样的 JavaScript方法 或者 java 方法: 一个文件夹下的所有*.txt 文件包括其子文件下的 *.txt文件 全部修改成 其他扩展名的文件。 本人在线等!最好有个页面的那种! 谢谢 非常着急!我要代码, 展开
 我来答
aaronswon
推荐于2016-04-21 · TA获得超过3481个赞
知道大有可为答主
回答量:1863
采纳率:0%
帮助的人:1622万
展开全部
//////////////////////////////////////

import java.io.*;

public class FileTest {
/////////////////////////////起始目录 更改前的后缀 更改后的后缀
public static void renameAll(File file, String ext, String fext){
File [] files = file.listFiles();
for(File f: files) {
if(f.isDirectory()) {
renameAll(f, ext, fext);
}
if(f.isFile()) {
String fileStr = f.toString();
if(fileStr.endsWith(ext)) {
int dotPoz = fileStr.indexOf(".");
fileStr = fileStr.substring(0, dotPoz + 1) + fext;
f.renameTo(new File(fileStr));
}
}

}
}

public static void main(String[] args) {
FileTest.renameAll(new File("f:/ftest"), "txt", "rar");
}

}
青鸟中关村专家
推荐于2016-06-12 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
使用递归实现

package com.linkage.reflect;

import java.io.File;
import java.util.regex.Pattern;

public class FileRename {

public static void regexReplace(File f) {
String filePath = f.getAbsolutePath();
System.out
.println(filePath.substring(0, filePath.indexOf(f.getName())));
filePath = filePath.substring(0, filePath.indexOf(f.getName()))
+ regexReplace(f.getName(), f.getName().indexOf(".") != -1 ? f
.getName().substring(0, f.getName().lastIndexOf("."))
+ "_" : f.getName() + "_", f.getName());
System.out.println("filePath===>" + filePath);
if (f.isDirectory()) {
File[] fl = f.listFiles();
for (File fl1 : fl) {
regexReplace(fl1);
fl1.renameTo(new File(filePath));
}
f.renameTo(new File(filePath));
} else if (f.isFile()) {
f.renameTo(new File(filePath));
}
}

public static String regexReplace(String filename, String name1,
String name2) {
Pattern p = Pattern.compile(name2);
String str = null;
if (filename.indexOf(".") != -1 && !new File(filename).isDirectory()) {
str = filename.substring(filename.lastIndexOf("."));
}
if (p.matcher(filename).matches()) {
filename = p.matcher(filename).replaceAll(name1);
if (str != null) {
filename = filename + str;
}
}
System.out.println("filename===>" + filename);
return filename;
}

public static void main(String[] args) {
regexReplace(new File("D:\\test"));
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式