JAVA批量修改檔名
/**
* 檔案 批量重新命名
* @author tiyoto
*
*/
public class BatchRenamefile {
//輸出日誌
public static volatile boolean isDebug = false;
public static void main(String[] args) {
String root = "C:/Documents and Settings/Administrator/桌面/test_rename";//資料夾目錄
File [] fs = new File(root).listFiles();
//String newName = "096";
BatchRenamefile.isDebug = true;
try {
rename(fs);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 批量 重新命名 檔名
* @param files 檔案列表(資料夾或檔案)
* @param newName 新檔名
* @throws Exception 可能的異常
*/
public static void rename(File [] files ) throws Exception {
if(files == null ){
return;
}
for(int i=0 ; i< files.length ; i++){
if(files[i] != null && files[i].exists()){
File f = files[i];
int lastIndex = f.getAbsolutePath().lastIndexOf(File.separator);
//父目錄
String path = f.getAbsolutePath().substring(0 , lastIndex+1);
if(f.isFile()){
//檔案,保持字尾名
String extensions = f.getName().lastIndexOf(".") >0 ?
( f.getName().substring(f.getName().lastIndexOf(".")) ) : "";
f.renameTo(new File(path+(Integer.parseInt(f.getName().replaceAll("[.][^.]+$", ""))-95)+ extensions));
}
}
}
}
}