#io #chain #chained #chainedreader

multi_reader

MultiReader - 一个复合读取器实现

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2016年8月24日

#131 in #chain

Download history 361/week @ 2023-11-28 103/week @ 2023-12-05 285/week @ 2023-12-12 344/week @ 2023-12-19 73/week @ 2023-12-26 202/week @ 2024-01-02 493/week @ 2024-01-09 292/week @ 2024-01-16 280/week @ 2024-01-23 262/week @ 2024-01-30 479/week @ 2024-02-06 371/week @ 2024-02-13 340/week @ 2024-02-20 401/week @ 2024-02-27 371/week @ 2024-03-05 395/week @ 2024-03-12

1,523 每月下载量
3 crates 中使用

自定义许可

6KB
115

MultiReader - 一个复合读取器实现。

Build Status

类似于 std::io::Chain,但允许将两个以上的读取器链接在一起。

使用方法

extern crate multi_reader;
use std::env;
use std::io::{BufRead, BufReader};
use std::fs::File;

fn main() {
    let args: Vec<_> = env::args().collect();
    let files = args[1..].iter().map(|f| File::open(f).expect("File not found"));
    let reader = BufReader::new(multi_reader::MultiReader::new(files));
    println!("Total lines count: {}", reader.lines().count());
}

示例

运行 cargo run --example main chained /path/to/file/a /path/to/file/b ...

测试

cargo test

lib.rs:

一个复合读取器实现。

类似于 io::Chain,但允许将两个以上的读取器链接在一起。

使用

extern crate multi_reader;
use std::env;
use std::io::{BufRead, BufReader};
use std::fs::File;

fn main() {
    let args: Vec<_> = env::args().collect();
    let files = args[1..].iter().map(|f| File::open(f).expect("File not found"));
    let reader = BufReader::new(multi_reader::MultiReader::new(files));
    println!("Total lines count: {}", reader.lines().count());
}

无运行时依赖