#gzip #deflate #编码

comprexor

一个简单的库,用于压缩和解压缩文件和目录

3个版本

0.1.520 2023年7月29日
0.1.5 2023年4月12日
0.1.4 2023年4月9日

653压缩

每月下载量 30
transferhelper 中使用

MIT 许可证

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