今天心血来潮,想做个文件名字批量工具,就临时写了一个,支持批量后缀名修改,和文件名称的数字格式化。
import java.io.File;
public class AlterNameUtil {
// 批量修改文件名称工具
public AlterNameUtil() {
}
/* 修改后缀名 */
public static int index = 1;
public static void alterNameExt(String filePath, String sext, String dext) {
int last;
File temp;
File f = new File(filePath);
if (!f.exists()) {
System.out.println("您输入的路径文件或文件夹不存在!");
return;
} else {
if (f.isFile()) {
if (f.getName().lastIndexOf(sext) > 0) {
System.out.print(f.getName() + "找到! ");
String Diretory = filePath.substring(0, filePath
.lastIndexOf("/") + 1);
last = f.getName().lastIndexOf(".");
temp = new File(Diretory + f.getName().substring(0, last)
+ dext);
if (f.renameTo(temp)) {
System.out.println(temp.getName() + "修改成功");
} else {
System.out.println("修改失败!");
}
}
} else if (f.isDirectory()) {
// Diretory=filePath.substring(0,filePath.lastIndexOf("/"));
String[] Filenames = f.list();
for (int i = 0; i < Filenames.length; i++) {
alterNameExt(filePath + "/" + Filenames[i], sext, dext);
}
}
}
}
// 格式化文件名称 数字格式化
public static void alterName(String filePath, String format, String sext) {
int last;
File temp;
File f = new File(filePath);
if (!f.exists()) {
System.out.println("您输入的路径文件或文件夹不存在!");
return;
} else {
if (f.isFile()) {
if (f.getName().indexOf(sext) > 0) {
System.out.print(f.getName() + "找到! ");
String Diretory = filePath.substring(0, filePath
.lastIndexOf("/") + 1);
last = f.getName().lastIndexOf(".");
temp = new File(Diretory + format + "_" + (++index) + sext);
if (f.renameTo(temp)) {
System.out.println(temp.getName() + "修改成功");
} else {
System.out.println("修改失败!");
}
}
} else if (f.isDirectory()) {
// Diretory=filePath.substring(0,filePath.lastIndexOf("/"));
String[] Filenames = f.list();
for (int i = 0; i < Filenames.length; i++) {
alterName(filePath + "/" + Filenames[i], format, sext);
}
}
}
}
public static void main(String[] args) {
alterNameExt("D://res/layout", ".java", ".xml");
alterName("D://res/layout", "main", ".xml");
}
}