當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。