相关疑难解决方法(0)

如何在Rust中创建可用作Reader,Writer或Seek的内存中对象?

我需要一个完全内存中的对象,我可以给予BufReaderBufWriter.像Python这样的东西StringIO.我想使用通常与Files 一起使用的方法来写入和读取这样的对象.

有没有办法使用标准库?

in-memory rust

29
推荐指数
3
解决办法
4218
查看次数

如何以惯用/高效的方式将数据从Read + Seek转换为Write?

我想从输入文件中的随机位置获取数据,并将它们顺序输出到输出文件.优选地,没有不必要的分配.

这是我发现的一种解决方案:

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)

io pipe rust

8
推荐指数
1
解决办法
626
查看次数

当Seek没有实现时,如何从std :: io :: Read特征中推进数据?

std::io::Read当输出内容不重要时,从实现特征的类型中读取的最佳方法是什么?

我看到的可能选择是:

  • 读取循环中的单个字节.
  • 分配一个潜在的巨大向量并读入其中.
  • 中间的东西...... 在循环中读入固定大小的缓冲区.

前两个选项似乎并不理想,第三个选项可以,但不方便.

Rust提供了一种方便的方法来实现这一目标吗?

io rust

7
推荐指数
1
解决办法
440
查看次数

标签 统计

rust ×3

io ×2

in-memory ×1

pipe ×1