本文簡要介紹rust語言中 std::fs::File.try_clone
的用法。
用法
pub fn try_clone(&self) -> Result<File>
創建一個新的 File
實例,該實例與現有的 File
實例共享相同的基礎文件句柄。讀取、寫入和查找將同時影響兩個 File
實例。
例子
為名為 foo.txt
的文件創建兩個句柄:
use std::fs::File;
fn main() -> std::io::Result<()> {
let mut file = File::open("foo.txt")?;
let file_copy = file.try_clone()?;
Ok(())
}
假設有一個名為 foo.txt
且內容為 abcdef\n
的文件,創建兩個句柄,尋找其中一個,然後從另一個句柄中讀取剩餘字節:
use std::fs::File;
use std::io::SeekFrom;
use std::io::prelude::*;
fn main() -> std::io::Result<()> {
let mut file = File::open("foo.txt")?;
let mut file_copy = file.try_clone()?;
file.seek(SeekFrom::Start(3))?;
let mut contents = vec![];
file_copy.read_to_end(&mut contents)?;
assert_eq!(contents, b"def\n");
Ok(())
}
相關用法
- Rust File.open用法及代碼示例
- Rust File.sync_data用法及代碼示例
- Rust File.options用法及代碼示例
- Rust File.create用法及代碼示例
- Rust File.sync_all用法及代碼示例
- Rust File.set_len用法及代碼示例
- Rust File.metadata用法及代碼示例
- Rust File.set_permissions用法及代碼示例
- Rust File用法及代碼示例
- Rust FileExt.read_exact_at用法及代碼示例
- Rust FileTypeExt.is_char_device用法及代碼示例
- Rust FileType.is_symlink用法及代碼示例
- Rust FileExt.write_at用法及代碼示例
- Rust FileType.is_file用法及代碼示例
- Rust FileType.is_dir用法及代碼示例
- Rust FileExt.read_at用法及代碼示例
- Rust FileTypeExt.is_fifo用法及代碼示例
- Rust FileExt.seek_read用法及代碼示例
- Rust FileTypeExt.is_socket用法及代碼示例
- Rust FileTypeExt.is_block_device用法及代碼示例
- Rust FileExt.seek_write用法及代碼示例
- Rust FileExt.write_all_at用法及代碼示例
- Rust Formatter.precision用法及代碼示例
- Rust Formatter.debug_list用法及代碼示例
- Rust Formatter.sign_minus用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::fs::File.try_clone。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。