如何在查找isn'时通过std::io::Read trait中的数据前进;没有实施?
当输出的内容不重要时,从实现如何在查找isn'时通过std::io::Read trait中的数据前进;没有实施?,io,rust,Io,Rust,当输出的内容不重要时,从实现std::io::read特性的类型读取的最佳方式是什么 我看到的可能选择是: 在循环中读取单个字节 分配一个潜在的巨大向量并读入其中 介于两者之间的东西。。。在循环中读入固定大小的缓冲区 前两个选项似乎并不理想,第三个还可以,但不方便 Rust是否提供了一种方便的方法来实现这一点?您可以使用,并丢弃特定数量的字节: let mut file = File::open("foo.txt").unwrap(); // Discard 27 bytes io::co
std::io::read
特性的类型读取的最佳方式是什么
我看到的可能选择是:
- 在循环中读取单个字节
- 分配一个潜在的巨大向量并读入其中
- 介于两者之间的东西。。。在循环中读入固定大小的缓冲区
let mut file = File::open("foo.txt").unwrap();
// Discard 27 bytes
io::copy(&mut file.by_ref().take(27), &mut io::sink());
// Read the rest
let mut interesting_contents = Vec::new();
file.read_to_end(&mut interesting_contents).unwrap();
()
在这里,我们还必须使用,以便以后仍能使用该文件。这对我不起作用(dyn Read
)。在io::copy(…)
之后,read(…)
的结果仍然与io::copy(…)
之前的读取结果相同。为什么?