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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© YRDHelloworld 中级黑马   /  2015-7-2 22:28  /  2587 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10黑马币
求一个复制文件夹的具体步骤    我写的递归没复制成功   不知道哪里出错了

最佳答案

查看完整内容

妹纸。黑马币给我。。。

7 个回复

倒序浏览

  1. import java.io.BufferedInputStream;
  2. import java.io.BufferedOutputStream;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;

  6. /**
  7. *                         文件夹复制
  8. */
  9. public class CopyAllFile {
  10.         public static void main(String[] args) throws Exception {
  11.                         //封装源文件夹目录
  12.                         File fromFile = new File("F:\\eclipse_0613");
  13.                         //封装目的地目录
  14.                         File toFile = new File("d:\\copp");
  15.                        
  16.                         CopyAllFile.copys(fromFile, toFile);
  17.         }
  18.         public static void copys(File fromFile, File toFile) throws Exception{
  19.                 if(fromFile != null  && toFile != null) {
  20.                         //创建源文件夹File数组
  21.                         File[] files =fromFile.listFiles();
  22.                        
  23.                         //遍历files 获取每一个file
  24.                         for(File f : files){
  25.                                 //获取f的文件名
  26.                                 String s = f.getName();
  27.                                 //封装目的地文件名称
  28.                                 File newFile = new File(toFile, s);
  29.                                 //判断是文件还是文件夹
  30.                                 if(f.isDirectory()){  //如果f 是文件夹
  31.                                          newFile.mkdirs();  //创建新的文件夹
  32.                                          copys(f,newFile);//递归
  33.                                 }else {
  34.                                         //如果是文件 则开始复制
  35.                                         //创建字节输入流
  36.                                         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
  37.                                         //创建字节输出流
  38.                                         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));
  39.                                         //定义一个字节数组
  40.                                         byte[] bys = new byte[1024];
  41.                                         int len = 0;
  42.                                         while((len = bis.read(bys)) != -1){
  43.                                                 bos.write(bys, 0 , len);
  44.                                                 bos.flush();
  45.                                         }
  46.                                         bos.close();
  47.                                         bis.close();
  48.                                 }
  49.                         }
  50.                 }
  51.         }
  52. }
复制代码
妹纸。黑马币给我。。。
回复 使用道具 举报
Ctrl+c   Ctrl+v   嘿嘿  源码发出来  看看
回复 使用道具 举报
源码发出来看看呀
回复 使用道具 举报
我觉得你可以文件另存一个试试。
回复 使用道具 举报
把你的代码贴出来瞧瞧
回复 使用道具 举报
妹子!!!给币啊~~~:'(


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

public class CopyDemo {
       
        public static void main(String[] args) throws IOException {
               
                CopyDemo.copyFile("f:\\a.txt", "F:\\Copy.txt");
        }

        public static void copyFile(String scr, String dest) throws IOException {
               
                BufferedReader br = new BufferedReader(new FileReader(scr));
               
                BufferedWriter bw = new BufferedWriter(new FileWriter(dest));

                char[] chs = new char[1024];
               
                int len = 0;
               
                while ((len = br.read(chs)) != -1) {
                       
                        bw.write(chs, 0, len);
                       
                        bw.flush();
                       
                }
               
                bw.close();
               
                br.close();
        }
       
}
回复 使用道具 举报
源代码呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马