当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust copy用法及代码示例


本文简要介绍rust语言中 Function std::fs::copy 的用法。

用法

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

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

该函数将覆盖的内容to.

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

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

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

特定于平台的行为

此函数当前对应于 Unix 中的 open 函数,其中 O_RDONLY 对应 fromO_WRONLYO_CREATO_TRUNC 对应 toO_CLOEXEC 是为返回的文件说明符设置的。在 Windows 上,此函数当前对应于 CopyFileEx 。该函数会复制备用 NTFS 流,但仅返回主流的大小。在 MacOS 上,此函数对应于 fclonefileatfcopyfile 。请注意,这个may change in the future

错误

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

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

例子

use std::fs;

fn main() -> std::io::Result<()> {
    fs::copy("foo.txt", "bar.txt")?;  // Copy foo.txt to bar.txt
    Ok(())
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::fs::copy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。