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


Rust copy用法及代碼示例


本文簡要介紹rust語言中 Function std::io::copy 的用法。

用法

pub fn copy<R: ?Sized, W: ?Sized>(reader: &mut R, writer: &mut W) -> Result<u64> where    R: Read,    W: Write,

將讀取器的全部內容複製到寫入器中。

此函數將連續從reader 讀取數據,然後以流式方式將其寫入writer,直到reader 返回EOF。

成功時,返回從 reader 複製到 writer 的總字節數。

如果您想將一個文件的內容複製到另一個文件並且正在使用文件係統路徑,請參閱 fs::copy 函數。

錯誤

如果對 read write 的任何調用返回錯誤,此函數將立即返回錯誤。 ErrorKind::Interrupted 的所有實例都由該函數處理,並重試基礎操作。

例子

use std::io;

fn main() -> io::Result<()> {
    let mut reader: &[u8] = b"hello";
    let mut writer: Vec<u8> = vec![];

    io::copy(&mut reader, &mut writer)?;

    assert_eq!(&b"hello"[..], &writer[..]);
    Ok(())
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Function std::io::copy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。