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 在 压缩
每月581次下载
用于 twtar
9KB
166 行
egzreader
在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