我需要一个完全内存中的对象,我可以给予BufReader和BufWriter.像Python这样的东西StringIO.我想使用通常与Files 一起使用的方法来写入和读取这样的对象.
有没有办法使用标准库?
我想从输入文件中的随机位置获取数据,并将它们顺序输出到输出文件.优选地,没有不必要的分配.
use std::io::{ self, SeekFrom, Cursor, Read, Write, Seek };
#[test]
fn read_write() {
// let's say this is input file
let mut input_file = Cursor::new(b"worldhello");
// and this is output file
let mut output_file = Vec::<u8>::new();
assemble(&mut input_file, &mut output_file).unwrap();
assert_eq!(b"helloworld", &output_file[..]);
}
// I want to take data from random locations in input file
// and output them sequentially to output file
pub fn assemble<I, O>(input: &mut I, output: &mut O) -> Result<(), io::Error>
where I: …Run Code Online (Sandbox Code Playgroud) std::io::Read当输出内容不重要时,从实现特征的类型中读取的最佳方法是什么?
我看到的可能选择是:
前两个选项似乎并不理想,第三个选项可以,但不方便.
Rust提供了一种方便的方法来实现这一目标吗?