import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
/*
* .java ---> .jadd ----> .txt
*/
public class 移动并改名 {
public static void main(String[] args) throws IOException {
/** 第一步: 定位目录 */
File srcFile = new File(".");
/** 第二步: 创建新目录 */
File destFile = new File("重命名");
if(!destFile.exists()){
destFile.mkdirs();
}
/** 第三步: 利用FilenameFilter得到文件名 */
File[] fileArray = srcFile.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir, name).isFile() && name.endsWith(".java");
}
});
/** 第四步: 对得到文件名 进行操作 */
for (File file : fileArray) {
/** <复制前改名> */
/* 第一步: 得到 老文件名 */
String oldName = file.getName();
/* 第二步: 得到 新文件名 */
String newName = oldName.replace(".java", ".jadd");
/* 第三步: 得到 目录 加 新文件名 */
File newFile = new File(destFile,newName);
/* 第四步: 复制文件操作 */
BufferedReader br = new BufferedReader(new FileReader(file));
BufferedWriter bw = new BufferedWriter(new FileWriter(newFile));
String line = null;
while((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
br.close();
bw.close();//必须关闭,否则下面的 renameTo() 无权操作
}
/** <复制完毕后再次改名> */
/* 第一步: 获取 新目录 的所有文件名 */
File[] destFileArray = destFile.listFiles();
/* 第二步: 对得到文件名 进行操作 */
for(File file : destFileArray){
/* 第A步: 得到 老文件名 */
String oldName = file.getName();
/* 第B步: 得到 新文件名 */
String newName = oldName.replace(".jadd", ".txt");
/* 第C步: 得到 目录 加 新文件名 */
File newFile = new File(destFile,newName);
/* 第D步: renameTo() 方法 */
System.out.println(file.renameTo(newFile));
}
}
}
|
|