java复制文件的4种方式

 1. 使用FileStreams复制

为崇义等地区用户提供了全套网页设计制作服务,及崇义网站建设行业解决方案。主营业务为做网站、网站制作、崇义网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

  这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B。

  这是第一个方法的代码:

  private static void copyFileUsingFileStreams(File source, File dest)

  throws IOException {

  InputStream input = null;

  OutputStream output = null;

  try {

  input = new FileInputStream(source);

  output = new FileOutputStream(dest);

  byte[] buf = new byte[1024];

  int bytesRead;

  while ((bytesRead = input.read(buf)) > 0) {

  output.write(buf, 0, bytesRead);

  }

  } finally {

  input.close();

  output.close();

  }

  }

  正如你所看到的我们执行几个读和写操作try的数据,所以这应该是一个低效率的,下一个方法我们将看到新的方式。

  2. 使用FileChannel复制

  Java NIO包括transferFrom方法,根据文档应该比文件流复制的速度更快。

  这是第二种方法的代码:

  private static void copyFileUsingFileChannels(File source, File dest) throws IOException {

  FileChannel inputChannel = null;

  FileChannel outputChannel = null;

  try {

  inputChannel = new FileInputStream(source).getChannel();

  outputChannel = new FileOutputStream(dest).getChannel();

  outputChannel.transferFrom(inputChannel, 0, inputChannel.size());

  } finally {

  inputChannel.close();

  outputChannel.close();

  }

  }

java复制文件的4种方式

  3. 使用Commons IO复制

  Apache Commons IO提供拷贝文件方法在其FileUtils类,可用于复制一个文件到另一个地方。它非常方便使用Apache Commons FileUtils类时,您已经使用您的项目。

  基本上,这个类使用Java NIO FileChannel内部。

  这是第三种方法的代码:

  private static void copyFileUsingApacheCommonsIO(File source, File dest)

  throws IOException {

  FileUtils.copyFile(source, dest);

  }

  4. 使用Java7的Files类复制

  如果你有一些经验在Java 7中你可能会知道,可以使用复制方法的Files类文件,从一个文件复制到另一个文件。

  这是第四个方法的代码:

  private static void copyFileUsingJava7Files(File source, File dest)

  throws IOException {

  Files.copy(source.toPath(), dest.toPath());

  }

详情更多了解:http://shenzhen.offcn.com/


名称栏目:java复制文件的4种方式
链接URL:http://myzitong.com/article/pddjcd.html