A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 江江会回来的 中级黑马   /  2015-9-23 00:01  /  131 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();
                }
        }
}


评分

参与人数 1黑马币 +2 收起 理由
一枝梨花压海棠 + 2 很给力!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马