文档

Java™ 教程-Java Tutorials 中文版
复制文件或目录
Trail: Essential Classes
Lesson: Basic I/O
Section: File I/O (Featuring NIO.2)

复制文件或目录

你可以使用 copy(Path, Path, CopyOption...) 方法复制文件或目录。如果目标文件存在,则复制将失败,除非指定了 REPLACE_EXISTING 选项。

目录可以复制。但是,目录中的文件不会被复制,因此即使原始目录包含文件,新目录也是空的。

复制符号链接时,将复制链接的目标。如果要复制链接本身而不是链接的内容,请指定 NOFOLLOW_LINKSREPLACE_EXISTING 选项。

此方法采用 varargs 参数。支持以下 StandardCopyOptionLinkOption 枚举:

如果你不熟悉 enums,请参阅 Enum Types

以下显示如何使用 copy 方法:

import static java.nio.file.StandardCopyOption.*;
...
Files.copy(source, target, REPLACE_EXISTING);

除文件复制外,Files 类还定义了可用于在文件和流之间进行复制的方法。copy(InputStream, Path, CopyOptions...) 方法可用于将输入流中的所有字节复制到文件。copy(Path, OutputStream) 方法可用于将所有字节从文件复制到输出流。

Copy 示例使用 copyFiles.walkFileTree 方法来支持递归复制。有关详细信息,请参阅 Walking the File Tree


Previous page: Deleting a File or Directory
Next page: Moving a File or Directory