| Crates.io | concat-reader |
| lib.rs | concat-reader |
| version | 0.1.0 |
| created_at | 2019-08-16 18:54:13.186513+00 |
| updated_at | 2019-08-16 18:54:13.186513+00 |
| description | Adapter for reading through multiple reader continuously |
| homepage | |
| repository | https://github.com/Larusso/concat-reader |
| max_upload_size | |
| id | 157438 |
| size | 35,761 |
Adapter for reading through multiple reader continuously
concat-reader is a library for Rust that contains utility functions and traits to create
concatenated Read objects from any thing that implements IntoIterator.
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())?;
}
}
Documentation: https://docs.rs/concat-reader