#generate #parser #pure #file #encoder #decompression

zchunk

一个用于解析和生成zchunk文件的纯Rust库

2个不稳定版本

0.2.0 2023年12月28日
0.1.0 2023年12月27日

#292 in 压缩

MIT 许可证

46KB
1K SLoC

crates.io docs.rs

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