本文简要介绍rust语言中 std::io::BufWriter.into_parts
的用法。
用法
pub fn into_parts(self) -> (W, Result<Vec<u8>, WriterPanicked>)
反汇编此 BufWriter<W>
,返回底层编写器以及任何缓冲但未写入的数据。
如果底层写入器出现Panics,则不知道写入了数据的哪一部分。在这种情况下,我们为缓冲数据返回WriterPanicked
(仍然可以从中恢复缓冲区内容)。
into_parts
不会尝试刷新数据并且不会失败。
例子
use std::io::{BufWriter, Write};
let mut buffer = [0u8; 10];
let mut stream = BufWriter::new(buffer.as_mut());
write!(stream, "too much data").unwrap();
stream.flush().expect_err("it doesn't fit");
let (recovered_writer, buffered_data) = stream.into_parts();
assert_eq!(recovered_writer.len(), 0);
assert_eq!(&buffered_data.unwrap(), b"ata");
相关用法
- Rust BufWriter.into_inner用法及代码示例
- Rust BufWriter.capacity用法及代码示例
- Rust BufWriter.get_ref用法及代码示例
- Rust BufWriter.get_mut用法及代码示例
- Rust BufWriter.with_capacity用法及代码示例
- Rust BufWriter.new用法及代码示例
- Rust BufWriter.buffer用法及代码示例
- Rust BufWriter用法及代码示例
- Rust BufRead.split用法及代码示例
- Rust BufReader.new用法及代码示例
- Rust BufReader.get_mut用法及代码示例
- Rust BufReader.with_capacity用法及代码示例
- Rust BufRead.fill_buf用法及代码示例
- Rust BufRead.has_data_left用法及代码示例
- Rust BufRead.read_until用法及代码示例
- Rust BufRead.read_line用法及代码示例
- Rust BufReader.capacity用法及代码示例
- Rust BufRead.lines用法及代码示例
- Rust BufReader.buffer用法及代码示例
- Rust BufRead用法及代码示例
- Rust BufReader用法及代码示例
- Rust BufReader.get_ref用法及代码示例
- Rust BufReader.into_inner用法及代码示例
- Rust Builder.stack_size用法及代码示例
- Rust BuildHasher.build_hasher用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::io::BufWriter.into_parts。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。