#reader #io #adapter

concat-reader

通过多个读取器连续读取的适配器

1 个不稳定版本

0.1.0 2019年8月16日

#85 in #adapter

Download history 338/week @ 2024-03-15 340/week @ 2024-03-22 189/week @ 2024-03-29 375/week @ 2024-04-05 355/week @ 2024-04-12 302/week @ 2024-04-19 325/week @ 2024-04-26 205/week @ 2024-05-03 271/week @ 2024-05-10 283/week @ 2024-05-17 374/week @ 2024-05-24 288/week @ 2024-05-31 145/week @ 2024-06-07 224/week @ 2024-06-14 227/week @ 2024-06-21 95/week @ 2024-06-28

701 每月下载量
2 个 crate 中使用

Apache-2.0

26KB
480

concat-reader

通过多个读取器连续读取的适配器

Build Status Crates.io

concat-reader 是一个 Rust 库,包含用于从任何实现 IntoIterator 的东西创建连接 Read 对象的实用函数和特质。

  use concat_reader::{FileConcatRead, concat_path};
  use std::io::{self, Read, BufRead, BufReader, Write};
  fn main() -> io::Result<()>{
      let files = vec!["/path/to/file_1", "/path/to/file_2", "/path/to/file_3"];
      let mut f = concat_path(files);
      let mut buffered = BufReader::new(f);
      let stdout = io::stdout();
      let mut handle = stdout.lock();
      loop {
          let mut line = String::new();
          let r = buffered.read_line(&mut line)?;
          if r == 0 {
              return Ok(())
          }
          let f = buffered.get_ref().file_path();
          eprintln!("read from {:?}", f);
          handle.write(line.as_bytes())?;
      }
  }

文档:https://docs.rs/concat-reader

许可协议

Apache 许可证 2.0

无运行时依赖