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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
* 题目:
        统计一个文件夹下的txt文件个数,包括所有子文件夹内,
        并将它们全部复制到D盘任意目录下
       
        分析:
                1.先创建目的地file对象
                2.创建数据源file对象
*/
public class IODemo {
        private static int count;
        public static void main(String[] args) throws IOException{
                File file1 = new File("E:\\黑马\\day02");
                File file2 = new File("D:\\黑马");
               
                //创建一个方法来复制文件
               
                copyFile(file1,file2);
                System.out.println("文件复制完!");
                System.out.println(count);
        }
        public static void copyFile(File file1,File file2) throws IOException{
               
                //获得文佳或文件夹的数组
                File[] files = file1.listFiles();
                //进行遍历,得到每一个文件或文件夹
                for (File file : files) {
                        String name = file.getName();
                        File newfile = new File(file2 ,name);
                        //判断file是否为文件
                        if(file.isFile()){
                                if(name.contains(".java")){
                                       
                                        //创建输入流
                                        BufferedReader in = new  BufferedReader(new FileReader(file));
                                        //创建输出流
                                       
                                        BufferedWriter out = new BufferedWriter(new FileWriter(file2));
                                       
                               
                                        String buffer = null;
                                        while((buffer = in.readLine()) != null){
                                                out.write(buffer);
                                                out.flush();
                                        }
                                       
                                        //关闭流
                                        in.close();
                                        out.close();
                                        count++;
                                }
                               
                        }else{
                                //创建一个文件夹
                                 newfile.mkdirs();
                                 //调用copyFile()方法
                                 copyFile(file,newfile);
                               
                        }
                       
                }
               
        }
}

0 个回复

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