Function std::fs::copy 1.0.0[−][src]
pub fn copy<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<u64>
Expand description
将一个文件的内容复制到另一个文件。此函数还将复制原始文件的权限位到目标文件。
该函数将覆盖 to
的内容。
请注意,如果 from
和 to
都指向同一个文件,则此操作可能会截断该文件。
成功后,将返回复制的字节总数,该总数等于 metadata
报告的 to
文件的长度。
如果您想将一个文件的内容复制到另一个文件,并且正在使用 File
,请参见 io::copy()
函数。
平台特定的行为
此函数当前与 Unix 中的 open
函数相对应,其中 from
的 O_RDONLY
和 to
的 O_WRONLY
,O_CREAT
和 O_TRUNC
。
O_CLOEXEC
为返回的文件描述符设置。
在 Windows 上,此函数当前对应于 CopyFileEx
。
复制备用 NTFS 流,但此函数仅返回主流的大小。
在 MacOS 上,此函数对应于 fclonefileat
和 fcopyfile
。
注意,这个 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