BufWriter
有一个无法访问的私有字段buf
。我怎么知道当前包含在其中的数据的大小?
答案 0 :(得分:6)
你不能(检查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 }