Java如何创建文件副本?

本示例说明了如何使用Apache Commons IO库简化文件复制过程。

package org.nhooo.example.commons.io;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;

public class FileCopyExample {
    public static void main(String[] args) {
        // 要复制的源文件名。
        File source = new File("january.doc");

        // 源文件将复制到的目标文件名。
        File target = new File("january-backup.doc");

        // 我们要将源文件复制到的临时文件夹。
        // 在这里,我们使用操作系统的临时文件夹,该文件夹可以是
        // 使用java.io.tmpdir属性获得。
        File targetDir = new File(System.getProperty("java.io.tmpdir"));

        try {
            // 使用FileUtils.copyFile()方法复制文件。
            System.out.println("Copying " + source + " file to " + target);
            FileUtils.copyFile(source, target);

            // 要将文件复制到指定的文件夹,我们可以使用
            // FileUtils.copyFileToDirectory()方法。
            System.out.println("Copying " + source + " file to " + targetDir);
            FileUtils.copyFileToDirectory(source, targetDir);
        } catch (IOException e) {
            // 如果在此期间发生任何错误,将在此处报告错误 
            // 复制文件
            e.printStackTrace();
        }
    }
}

Maven依赖

<!-- http://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>