黑马程序员技术交流社区

标题: IO流复制文件夹 [打印本页]

作者: #→_→    时间: 2015-9-20 23:51
标题: IO流复制文件夹
本帖最后由 #→_→ 于 2015-9-21 00:00 编辑

public static void main(String[] args) throws IOException {
                File yuan = new File("E:\\KuGou");// 源路径
                File muDi = new File("E:\\demo\\KuGou");// 目的路径
                muDi.mkdirs();// 创建目的路径
                fuZhi(yuan, muDi);
        }

        private static void fuZhi(File yuan, File muDi) throws IOException {
                File[] file = yuan.listFiles();// 创建数组和遍历数组
                for (File newYuan : file) {
                        // 如果是文件就复制,是文件夹就再创建数组遍历
                        if (!newYuan.isDirectory()) {
                                // 数组的File路径作为新的源目录路径
                                BufferedInputStream bis = new BufferedInputStream(
                                                new FileInputStream(newYuan));
                                BufferedOutputStream bos = new BufferedOutputStream(
                                                new FileOutputStream(muDi + "\\"
                                                                + newYuan.getName()));
                                byte[] by = new byte[1024];
                                int len;
                                while ((len = bis.read(by)) != -1) {
                                        bos.write(by, 0, len);
                                }
                                bis.close();
                                bos.close();
                        } else {
                                // 创建下一级的新目录,并把新目录重新遍历复制
                                File newMuDi = new File(muDi, newYuan.getName());
                                newMuDi.mkdirs();
                                fuZhi(newYuan, newMuDi);
                        }
                }
        }

作者: #→_→    时间: 2015-9-21 00:01
  1. public static void main(String[] args) throws IOException {
  2.                 File yuan = new File("E:\\KuGou");// 源路径
  3.                 File muDi = new File("E:\\demo\\KuGou");// 目的路径
  4.                 muDi.mkdirs();// 创建目的路径
  5.                 fuZhi(yuan, muDi);
  6.         }

  7.         private static void fuZhi(File yuan, File muDi) throws IOException {
  8.                 File[] file = yuan.listFiles();// 创建数组和遍历数组
  9.                 for (File newYuan : file) {
  10.                         // 如果是文件就复制,是文件夹就再创建数组遍历
  11.                         if (!newYuan.isDirectory()) {
  12.                                 // 数组的File路径作为新的源目录路径
  13.                                 BufferedInputStream bis = new BufferedInputStream(
  14.                                                 new FileInputStream(newYuan));
  15.                                 BufferedOutputStream bos = new BufferedOutputStream(
  16.                                                 new FileOutputStream(muDi + "\\"
  17.                                                                 + newYuan.getName()));
  18.                                 byte[] by = new byte[1024];
  19.                                 int len;
  20.                                 while ((len = bis.read(by)) != -1) {
  21.                                         bos.write(by, 0, len);
  22.                                 }
  23.                                 bis.close();
  24.                                 bos.close();
  25.                         } else {
  26.                                 // 创建下一级的新目录,并把新目录重新遍历复制
  27.                                 File newMuDi = new File(muDi, newYuan.getName());
  28.                                 newMuDi.mkdirs();
  29.                                 fuZhi(newYuan, newMuDi);
  30.                         }
  31.                 }
  32.         }
复制代码





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