首先,查到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("存在重命名未成功的文件,请人工查看更改");
}
}
}
}