一个BufWriter
有一个私人领域buf
无法进入。我怎么知道当前包含的数据的大小?
你不能(检查the source to be sure)。内部buf
不以任何方式暴露,大概是为了允许在不破坏兼容性的情况下改变实现。
嗯,你可以,但它很糟糕,而且很糟糕。您可以使用调试格式化程序打印BufWriter
:
use std::io::prelude::*;
use std::io::{self, BufWriter};
fn main() {
let mut b = BufWriter::new(io::sink());
b.write_all(b"hello, world").expect("Unable to write");
println!("{:?}", b)
}
BufWriter { writer: Sink { .. }, buffer: 12/8192 }