首先,查到java里文件重命名的方法為:renameTo();
我將180張圖片放在d:\\backup下,用下面的程序進行重命名:
public void reName(){
String dir = "D:\\backup\\";
File file = new File(dir);
String fileName[] = file.list();
int number = fileName.length;
File newFile[] = new File[number];
System.out.println("number = " + number);
for(int i=0; i<number; i++) {
System.out.println((i+1) + ":" + fileName[i]);
newFile[i] = new File(dir+fileName[i]);
}
System.out.println("============分割線=============");
for(int i=0; i<number;i++){
boolean flag = newFile[number - (i+1)].renameTo(new File(dir + (i+1)+".bmp"));
if(flag){
System.out.println("重命名成功"+(i+1));
} else {
System.out.println("失敗");
}
}
}
PS:java重命名失敗的原因主要有以下幾個:
1.源文件不存或不可寫。
2.目標文件已存在。
3.源文件和目標不是在同一個盤時,不同的盤的文件格式是否相同。
下面是一個將待修改文件名和修改目的文件名分別存入數組中進行重命名的行為,比較不實用,應該將第一個參數改成目錄名就好些了,不過,意思到就行了,^-^
/**
*
* @param from 保存需要修改的文件名數組
* @param to 保存修改后的文件名數組
*/
public void reName_1(String from[], String to[]){
int fileLength = from.length;
boolean flag = false;
boolean isOk = false;
int count = 0;
if(fileLength != to.length){
System.out.println("傳入數組長度不一致,故不進行重命名操作");
return;
}else{
for(int i=0;i<fileLength;i++){
for(int j=0;j<fileLength;j++){
if(from[i].equals(to[j]) ){
flag = false;
System.out.println("error:存在相同文件名,系統拒絕重命名操作");
return;
}else{
flag = true;
}
}
}
if(flag){
System.out.println("開始進行文件重命名工作》》》");
for(int i=0;i<fileLength;i++){
isOk = new File(from[i]).renameTo(new File(to[i]));
if(isOk){
System.out.println("弟" + (i+1) +"個文件重命名成功");
count++;
}
}
if(count == fileLength){
System.out.println("全部重命名成功");
}else{
System.out.println("存在重命名未成功的文件,請人工查看更改");
}
}
}
}