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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫问纷飞 中级黑马   /  2014-5-28 15:03  /  934 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 莫问纷飞 于 2014-5-28 19:46 编辑

目录里面包含目录,如何原封不动的全部复制过去

2 个回复

倒序浏览
本帖最后由 凝霜的枯藤 于 2014-5-28 15:31 编辑
  1. /**
  2.          * 复制一个目录及其子目录、文件到另外一个目录
  3.          * @param src
  4.          * @param dest
  5.          * @throws IOException
  6.          */
  7.         private void copyFolder(File src, File dest) throws IOException {
  8.                 if (src.isDirectory()) {
  9.                         if (!dest.exists()) {
  10.                                 dest.mkdir();
  11.                         }
  12.                         String files[] = src.list();
  13.                         for (String file : files) {
  14.                                 File srcFile = new File(src, file);
  15.                                 File destFile = new File(dest, file);
  16.                                 // 递归复制
  17.                                 copyFolder(srcFile, destFile);
  18.                         }
  19.                 } else {
  20.                         InputStream in = new FileInputStream(src);
  21.                         OutputStream out = new FileOutputStream(dest);

  22.                         byte[] buffer = new byte[1024];

  23.                         int length;
  24.                         
  25.                         while ((length = in.read(buffer)) > 0) {
  26.                                 out.write(buffer, 0, length);
  27.                         }
  28.                         in.close();
  29.                         out.close();
  30.                 }
  31.         }
复制代码
例外:apache commons-io包,FileUtils类中有相关操作的方法,还有IOUtils类一般是拷贝文件。

回复 使用道具 举报 1 0
凝霜的枯藤 发表于 2014-5-28 15:24
例外:apache commons-io包,FileUtils类中有相关操作的方法,还有IOUtils类一般是拷贝文件。

...

明白了,多谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马