修改文件夹下所有文件扩展名 的java 或者JavaScript方法
本人急需这样的JavaScript方法或者java方法:一个文件夹下的所有*.txt文件包括其子文件下的*.txt文件全部修改成其他扩展名的文件。本人在线等!最好有个页面...
本人急需这样的 JavaScript方法 或者 java 方法: 一个文件夹下的所有*.txt 文件包括其子文件下的 *.txt文件 全部修改成 其他扩展名的文件。 本人在线等!最好有个页面的那种! 谢谢 非常着急!我要代码,
展开
2个回答
展开全部
//////////////////////////////////////
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");
}
}
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 · 知道合伙人软件行家
关注
展开全部
使用递归实现
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"));
}
}
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"));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询