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.FilenameFilter;
import java.io.IOException;
public class FileCopyAllJava {
public static void main(String[] args) throws IOException {
//封装源文件夹
File old_drectory = new File("F:file:///\\work_space\\com.fanfan\\src\\lian_xi");
//封装目标文件夹,如果文件夹不存在,就创建文件夹
File new_drectory = new File("E:file:///\\COPY");
if (!new_drectory.exists()) {
new_drectory.mkdirs();
}
//列出源文件夹中的所有文件,并过滤出满足条件的文件
File[] old_arr = old_drectory.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
File file=new File(dir,name);//传入的参数dir和name是文件所在的目录和名字,所以采用第三种构造方式初始化文件
return (file.isFile() && name.endsWith(".java"));
}
});
//复制过滤出来的所有文件
for (File old_file: old_arr) {
//拿到源文件的名字,不带路径
String old_name = old_file.getName();
//用第三种构造方式初始化目标文件(不改名字就用old_name)
File new_file = new File(new_drectory,old_name );
//创建高效输入/输出流对象
BufferedReader br = new BufferedReader(new FileReader(old_file));
BufferedWriter bw = new BufferedWriter(new FileWriter(new_file));
//采用一次读写一行的方式复制文件
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
}
}
|