Function std::fs::copy1.0.0[][src]

pub fn copy<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<u64>
Expand description

将一个文件的内容复制到另一个文件。此函数还将复制原始文件的权限位到目标文件。

该函数将覆盖 to 的内容。

请注意,如果 fromto 都指向同一个文件,则此操作可能会截断该文件。

成功后,将返回复制的字节总数,该总数等于 metadata 报告的 to 文件的长度。

如果您想将一个文件的内容复制到另一个文件,并且正在使用 File,请参见 io::copy() 函数。

平台特定的行为

此函数当前与 Unix 中的 open 函数相对应,其中 fromO_RDONLYtoO_WRONLYO_CREATO_TRUNC

O_CLOEXEC 为返回的文件描述符设置。 在 Windows 上,此函数当前对应于 CopyFileEx。 复制备用 NTFS 流,但此函数仅返回主流的大小。 在 MacOS 上,此函数对应于 fclonefileatfcopyfile。 注意,这个 may change in the future

Errors

在以下情况下,此函数将返回错误,但不仅限于这些情况:

  • from 既不是普通文件,也不是普通文件的符号链接。
  • from 不存在。
  • 当前进程没有读取 from 或写入 to 的权限。

Examples

use std::fs;

fn main() -> std::io::Result<()> {
    fs::copy("foo.txt", "bar.txt")?;  // 将 foo.txt 复制到 bar.txt
    Ok(())
}
Run