拿到一些文件后文件名就只是编号,还好一个txt说明
哎,谁让咱们是程序员呢,编个小程序改一下就是老
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ChengeFileName {
/**
* Title:利用io流实现文件批量修改命名
* Copyright: Copyright (c) 2012
* @author: 烽火
* @version 1.0 2012-09-24
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//得到存有文件名的文件的流对象
FileReader fr = new FileReader("F:\\ProgramView\\java\\JDBC\\a.txt");
BufferedReader bfr = new BufferedReader(fr);
StringBuffer sb = new StringBuffer();
//逐行读取文件中的字符串
String fname = null;
while((fname=bfr.readLine()) != null){
sb.append(fname.trim()+",");
//System.out.println(fname);
}
String sbname = sb.toString();
//得到存有文件名的数组
String[] nfnames = sbname.split(",");
/*for (int i = 0; i < nfnames.length; i++){
System.out.println(nfnames[i]);
}*/
//得到存有待修改文件的文件夹对象
File file = new File("F:\\ProgramView\\java\\JDBC\\view");
String[] fnames = null;
if (!file.isFile() && file.isDirectory()){
//得到待修改文件名
fnames = file.list();
/*for (int i = 0; i < fnames.length; i++){
System.out.println(fnames[i].substring(0, fnames[i].lastIndexOf(".")));
}*/
}else{
System.out.println("非文件!");
}
for (int i = 0; i < fnames.length; i++){
int index = Integer.parseInt(fnames[i].substring(0, fnames[i].lastIndexOf(".")))-1;
//得到一个待命名文件对象
File oldf = new File("F:\\ProgramView\\java\\JDBC\\view\\"+fnames[i]);
//获取新名称文件的文件对象
File newf = new File("F:\\ProgramView\\java\\JDBC\\view\\"+nfnames[index]+".avi");
//进行重命名
oldf.renameTo(newf);
}
System.out.println("重命名完成!");
}
}
注释部分的代码只是用来测试;
提示:如你想用此方法修改文件名,最好先将文件备份。否则出错就麻烦了!