例如:test.rmvb改名后为rmvb.tset
test.mp3改名后为3pm.tset
使用方式如下:
支持目录的多级遍历(使用了递归)
RenameBat.changeFileName("D:\\mp3"); 修改mp3目录下的所有文件
RenameBat.changeFileName("D:\\"); 修改所有D盘所有目录下的文件
如果你想还原真实的文件名,也很简单,再运行一次,就还原了啊(因为逆序的逆序==正序)
代码如下:
import java.io.File;
public class RenameBat {
public static void changeFileName(String directory){
File file = new File(directory);
String[] allFile = file.list();
System.out.println("________________start in ("+directory+")__________________");
for(int i=0;i<allFile.length;i++){
try{
file = new File(directory+"\\"+allFile[i]);
if(file.isFile()){
rename(file);
}else{
changeFileName(directory+"\\"+allFile[i]); //注意递归了
}
}catch(Exception e){e.printStackTrace();}
}
System.out.println("________________end in ("+directory+")__________________");
}
private static void rename(File file){
StringBuffer strBuf = null;
strBuf = new StringBuffer(file.getName());
file.renameTo(new File(file.getParent()+"\\"+strBuf.reverse().toString()));
}
}
test.mp3改名后为3pm.tset
使用方式如下:
支持目录的多级遍历(使用了递归)
RenameBat.changeFileName("D:\\mp3"); 修改mp3目录下的所有文件
RenameBat.changeFileName("D:\\"); 修改所有D盘所有目录下的文件
如果你想还原真实的文件名,也很简单,再运行一次,就还原了啊(因为逆序的逆序==正序)
代码如下:
import java.io.File;
public class RenameBat {
public static void changeFileName(String directory){
File file = new File(directory);
String[] allFile = file.list();
System.out.println("________________start in ("+directory+")__________________");
for(int i=0;i<allFile.length;i++){
try{
file = new File(directory+"\\"+allFile[i]);
if(file.isFile()){
rename(file);
}else{
changeFileName(directory+"\\"+allFile[i]); //注意递归了
}
}catch(Exception e){e.printStackTrace();}
}
System.out.println("________________end in ("+directory+")__________________");
}
private static void rename(File file){
StringBuffer strBuf = null;
strBuf = new StringBuffer(file.getName());
file.renameTo(new File(file.getParent()+"\\"+strBuf.reverse().toString()));
}
}