本篇主要使用Java实现文件名的批量修改。做数据挖掘实验,当数据集量不充足时,通常使用交叉法进行多次实验,提取不重复的训练集、验证集和测试集,这时能够批量随机修改文件名能够大大提高开发效率。
package app;
import java.io.*;
public class Test {
public static void main(String[] args) {
String path = "D:\\ORL1\\s";
//文件类型
String suffix = ".bmp";
for (int i = 1; i <= 40; i++) {
String pathTemp = path + i + "\\";
for (int j = 10; j >= 1; j--) {
rename(pathTemp + j + suffix, "" + (j + 1), suffix);
}
rename(pathTemp + "11" + suffix, "1", suffix);
}
}
public static boolean rename(String AbsolutePath, String newName,
String Suffix) {
File file = new File(AbsolutePath);
if (!file.exists()) {
System.out.println(AbsolutePath + " doesn't exist!");
return false;
}
String filename = file.getAbsolutePath();
if (filename.indexOf(".") >= 0) {
filename = filename.substring(0, filename.lastIndexOf("\\") + 1);
filename += newName;
}
if (!file.renameTo(new File(filename + Suffix))) {
System.out.println(AbsolutePath + " fails to rename!");
return false;
}
return true;
}
}