3个版本
0.1.520 | 2023年7月29日 |
---|---|
0.1.5 | 2023年4月12日 |
0.1.4 | 2023年4月9日 |
653 在 压缩 中
每月下载量 30
在 transferhelper 中使用
16KB
244 代码行
Comprexor
Comprexor是一个用于压缩和解压缩文件和文件夹的Rust库。它使用流行的GZip实现。
使用方法
压缩
您可以使用相同的函数来压缩文件或文件夹。输出将是一个.tar.gz
文件。
在以下示例中,我们将压缩名为some-folder-or-file
的文件夹,并将输出保存到output.tar.gz
。
use comprexor::{CompressionLevel, Compressor};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let compressor = Compressor::new("./some-folder-or-file", "./output.tar.gz");
let compress_info = compressor.compress(CompressionLevel::Maximum)?;
dbg!(&compress_info.input_size_formatted());
dbg!(&compress_info.output_size_formatted());
dbg!(&compress_info.ratio_formatted(5));
}
这将在当前目录中创建一个名为output.tar.gz
的文件。
解压缩
您可以使用相同的函数来解压缩文件或文件夹。输出将根据输入是文件夹还是文件。
在以下示例中,我们将解压缩一个名为some-folder-or-file.tar.gz
的文件,该文件是在上一个示例中创建的,并将输出保存到output
。
use comprexor::Extractor;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let extractor = Extractor::new("./some-folder-or-file.tar.gz", "./output");
let extract_info = extractor.extract()?;
dbg!(&extract_info.input_size_formatted());
dbg!(&extract_info.output_size_formatted());
dbg!(&extract_info.ratio_formatted(5));
}
这将在当前目录中创建一个名为output
的文件夹,其中包含解压缩后的文件。
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。
依赖关系
~2–11MB
~122K SLoC