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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© #→_→ 中级黑马   /  2015-9-20 23:51  /  672 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 #→_→ 于 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);
                        }
                }
        }

1 个回复

倒序浏览
  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.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马