复制文件或文件夹Java方法

简介: 复制文件或文件夹Java方法
/**
   * 复制整个文件夹内容
   * 
   * @param oldPath
   *            String 原文件路径 如:c:/fqf
   * @param newPath
   *            String 复制后路径 如:f:/fqf/ff
   * @return boolean
   */
  public boolean copyFolder(String oldPath, String newPath) {
    try {
      (new File(newPath)).mkdirs(); // 如果文件夹不存在 则建立新文件夹
      File a = new File(oldPath);
      String[] file = a.list();
      File temp = null;
      for (int i = 0; i < file.length; i++) {
        if (oldPath.endsWith(File.separator)) {
          temp = new File(oldPath + file[i]);
        } else {
          temp = new File(oldPath + File.separator + file[i]);
        }
        if (temp.isFile()) {
          FileInputStream input = new FileInputStream(temp);
          FileOutputStream output = new FileOutputStream(newPath
              + "/" + (temp.getName()).toString());
          byte[] b = new byte[1024 * 5];
          int len;
          while ((len = input.read(b)) != -1) {
            output.write(b, 0, len);
          }
          output.flush();
          output.close();
          input.close();
        }
        if (temp.isDirectory()) {// 如果是子文件夹
          copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
        }
      }
      return true;
    } catch (Exception e) {
      System.out.println("出错");
      logger.error("创建出错:" + e.getStackTrace().toString());
      return false;
    }
  }
目录
相关文章
|
1天前
|
Java 数据处理 数据库
Java中equalsIgnoreCase方法的应用
Java中equalsIgnoreCase方法的应用
|
1天前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
|
1天前
|
存储 Java 容器
Java数组的初始化方法
Java数组的初始化方法
|
1天前
|
安全 Java 索引
带你快速掌握Java中的String类和StringBuffer类(详解常用方法 | 区别 )
带你快速掌握Java中的String类和StringBuffer类(详解常用方法 | 区别 )
|
1天前
|
设计模式 Java API
如何处理Java中的方法过长?
如何处理Java中的方法过长?
|
1天前
|
Java
Java中的Object类 ( 详解toString方法 | equals方法 )
Java中的Object类 ( 详解toString方法 | equals方法 )
|
1天前
|
Java
Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )
Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )
|
4天前
|
Java
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
9 1
|
4天前
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
7 1
|
1天前
|
Java Linux 数据安全/隐私保护
深入探讨Java环境变量配置的方法与技巧
深入探讨Java环境变量配置的方法与技巧