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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 汤汤微微 中级黑马   /  2015-1-4 16:22  /  966 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个。。写了半天也没实现

3 个回复

倒序浏览
package itheima;

import java.io.*;

/**
* 复制整个文件夹的内容
* @author Administrator
*
*/
public class T14 {

        public static void main(String[] args) throws Exception {
                File file = new File("E:\\java测试题");
                copyFile(file,new File("D:"));
               
        }

        private static void copyFile(File file,File fs) throws Exception {
                if(!file.exists())
                        throw new RuntimeException("文件或目录不存在");
               
                        File f = new File(fs +"\\" + file.getName());
                        f.mkdir();
                        File[] files = file.listFiles();
                        for(int i=0; i<files.length; i++) {
                                if(files[i].isFile()) {
                                        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(files[i])));
                                        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fs + "\\" + files[i].getName())));
                                        String s = null;
                                        while((s=br.readLine()) != null) {
                                                bw.write(s);
                                                bw.newLine();
                                                bw.flush();
                                        }
                                } else {
                                        copyFile(files[i],f);
                                }
                        }
                       
               
        }

}
刚刚把代码调出来,还好实现了
回复 使用道具 举报
额。。。上面代码有问题,欢迎大家指出
回复 使用道具 举报
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fs + "\\" + files[i].getName())));   中的fs改为f就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马