2个不稳定版本
0.2.0 | 2023年12月28日 |
---|---|
0.1.0 | 2023年12月27日 |
#292 in 压缩
46KB
1K SLoC
zchunk-rs
一个用于解析和生成zchunk文件的纯Rust库
示例
- 压缩
use std::fs::File;
use tempfile::Builder;
use zchunk::Encoder;
let input = File::open("test.txt").unwrap();
let output = File::create("test.txt.zck").unwrap();
let temp = Builder::new()
.prefix("zchunk-temp-")
.tempfile_in("tmp/")
.unwrap();
let mut encoder = Encoder::new(input, temp).unwrap();
encoder.prepare_chunks().unwrap();
encoder.compress_to(output).unwrap();
- 解压
use std::{fs::File, io::BufReader};
use zchunk::Decoder;
let input = File::open("test.txt.zck").unwrap();
let mut output = File::create("test.txt").unwrap();
let mut decoder = Decoder::new(BufReader::new(input)).unwrap();
decoder.decompress_to(&mut output).unwrap();
- 同步
use zchunk::Decoder;
let mut source_decoder = Decoder::new(&mut source_reader).unwrap();
let mut cache_decoder = Decoder::new(&mut cache_reader).unwrap();
source_decoder.sync_to(cache_decoder, &mut writer).unwrap();
依赖项
~4MB
~80K SLoC