Java复制文件和文件夹

    本文由广州疯狂软件java培训分享:

  Java 复制文件和文件夹

  // 复制文件

  public static void copyFile(File sourceFile, File targetFile) throws IOException {

  BufferedInputStream inBuff = null;

  BufferedOutputStream outBuff = null;

  try {

  // 新建文件输入流并对它进行缓冲

  inBuff = new BufferedInputStream(new FileInputStream(sourceFile));

  // 新建文件输出流并对它进行缓冲

  outBuff = new BufferedOutputStream(new FileOutputStream(targetFile));

  // 缓冲数组

  byte[] b = new byte[1024 * 5];

  int len;

  while ((len = inBuff.read(b)) != -1) {

  outBuff.write(b, 0, len);

  }

  // 刷新此缓冲的输出流

  outBuff.flush();

  } finally {

  // 关闭流

  if (inBuff != null)

  inBuff.close();

  if (outBuff != null)

  outBuff.close();

  }

  }

  // 复制文件夹

  public static void copyDirectiory(String sourceDir, String targetDir) throws IOException {

  // 新建目标目录

  (new File(targetDir))。mkdirs();

  // 获取源文件夹当前下的文件或目录

  File[] file = (new File(sourceDir))。listFiles();

  for (int i = 0; i < file.length; i++) {

  if (file[i].isFile()) {

  // 源文件

  File sourceFile = file[i];

  // 目标文件

  File targetFile = new File(new File(targetDir)。getAbsolutePath() + File.separator + file[i].getName());

  copyFile(sourceFile, targetFile);

  }

  if (file[i].isDirectory()) {

  // 准备复制的源文件夹

  String dir1 = sourceDir + / + file[i].getName();

  // 准备复制的目标文件夹

  String dir2 = targetDir + / + file[i].getName();

  copyDirectiory(dir1, dir2);

  }

  }

  }

  疯狂软件Java培训中心口碑好、收费低、高品质、精品课程小班授课保证JAVA课程的深度、广度,授课老师都有8年以上项目开发经验,实战为重点的模式,课程训练植入真实项目,是学生完全转变成具有工作经验的技术人才,专业Java培训为大学生开设Java培训小班,得到广大学员的一致认可,不管你是计算机高手,还是计算机菜鸟,加入疯狂软件Java训机构,都保证你能够经过知名讲师的指导成为Java发高手,让学员告别就业的困扰,学习和就业双保险,最终实现高薪就业。如需了解更多疯狂软件java课程,ios课程,android课程请咨询疯狂软件教育中心,地址广州天河区车陂沣宏大厦

原文地址:https://www.cnblogs.com/gojava/p/3586092.html