package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 复制文件夹下的所有指定后缀(.JAVA)的文件到别的目录中去,并将这些文件改名为.txt后缀名
*
* @author Janny
*
*/
public class Practice {
public static void main(String args[]) throws IOException {
// 创建两个文件
File file = new File("aaa");
File fileDest = new File("bbb");
fileDest.mkdir();
// 调用方法
copyFile(file, fileDest);
}
private static void copyFile(File file, File fileDest) throws IOException {
// 要拷贝文件目录下的所有文件
File[] files = file.listFiles();
// 循环遍历文件,判断如果是文件的话,直接将文件拷贝到fileDest目录下,
// 如果是文件夹的话,就递归调用此方法,传入源文件夹名称,和目的文件夹名称。
for (File file1 : files) {
if (file1.isFile()) {
// 创建写入的文件,并重新命名为.txt格式的文件
File file3 = new File(fileDest,
file1.getName().split("\\.")[0].concat(".txt"));
// 创建文件的输入输出流
BufferedReader br = new BufferedReader(new FileReader(file1));
BufferedWriter bw = new BufferedWriter(new FileWriter(file3));
// 将文件读取到另一个文件
String s = null;
while ((s = br.readLine()) != null) {
bw.write(s);
bw.newLine();
}
// 关流
bw.close();
br.close();
} else {
for (File file2 : file1.listFiles()) {
File file5 = new File(fileDest.getAbsolutePath()
+ File.separator + file1.getName());
copyFile(file2, file5);
}
}
}
}
}
|
|