黑马程序员技术交流社区

标题: 文件夹操作 [打印本页]

作者: YRDHelloworld    时间: 2015-7-2 22:28
标题: 文件夹操作
求一个复制文件夹的具体步骤    我写的递归没复制成功   不知道哪里出错了
作者: shuaiqi_P_D    时间: 2015-7-2 22:28

  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. }
复制代码
妹纸。黑马币给我。。。

作者: 陈旭刚520    时间: 2015-7-2 23:02
Ctrl+c   Ctrl+v   嘿嘿  源码发出来  看看
作者: 德艺双馨    时间: 2015-7-2 23:11
源码发出来看看呀
作者: y137123606    时间: 2015-7-2 23:13
我觉得你可以文件另存一个试试。
作者: shuaiqi_P_D    时间: 2015-7-3 00:12
把你的代码贴出来瞧瞧
作者: wsdlshu    时间: 2015-7-3 12:10
妹子!!!给币啊~~~:'(


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();
        }
       
}
作者: e275919713    时间: 2015-7-8 21:31
源代码呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2