9个稳定版本

2.0.4 2022年1月16日
2.0.2 2021年4月23日
1.0.3 2021年4月18日
0.1.0 2021年4月18日

#473压缩

Download history 4/week @ 2024-03-13 11/week @ 2024-03-27 22/week @ 2024-04-03 4/week @ 2024-05-15 102/week @ 2024-05-22 136/week @ 2024-05-29 148/week @ 2024-06-05 104/week @ 2024-06-12 133/week @ 2024-06-19 160/week @ 2024-06-26

每月581次下载
用于 twtar

MIT/Apache

9KB
166

egzreader

Crates.io Documentation License

在Rust中轻松读取gzip和非gzip流。

安装

# Cargo.toml
[dependencies]
egzreader = "2"

示例

use std::io::prelude::*;
use std::io;
use std::fs::File;
use egzreader::EgzReader;

fn read_hello() -> io::Result<()> {
    // text file
    let mut r1 = EgzReader::new(
        File::open("examples/hello.txt")?
    );
    // gzip encoded text file
    let mut r2 = EgzReader::new(
        File::open("examples/hello.txt.gz")?
    );

    let mut s1 = String::new();
    let mut s2 = String::new();

    r1.read_to_string(&mut s1)?;
    r2.read_to_string(&mut s2)?;

    assert_eq!(s1, "Hello!");
    assert_eq!(s2, "Hello!");

    Ok(())
}

lib.rs:

轻松读取gzip和非gzip流。

EgzReader 当底层读者是gzip流时解码,非gzip时直接读取。

示例

use std::io::prelude::*;
use std::io;
use std::fs::File;
use egzreader::EgzReader;

fn read_hello() -> io::Result<()> {
    // text file
    let mut r1 = EgzReader::new(
        File::open("examples/hello.txt")?
    );
    // gzip encoded text file
    let mut r2 = EgzReader::new(
        File::open("examples/hello.txt.gz")?
    );

    let mut s1 = String::new();
    let mut s2 = String::new();

    r1.read_to_string(&mut s1)?;
    r2.read_to_string(&mut s2)?;

    assert_eq!(s1, "Hello!");
    assert_eq!(s2, "Hello!");

    Ok(())
}

依赖关系

~315KB