#目录 #归档 #归档格式 #zip #根目录 #xz

zip_archive

使用特定压缩格式的库来归档目录

5个版本 (稳定)

1.2.2 2022年4月23日
1.0.0 2022年4月10日
0.1.1 2022年4月1日

压缩中排名第665

Download history 34/week @ 2024-03-11 41/week @ 2024-03-18 12/week @ 2024-03-25 57/week @ 2024-04-01 73/week @ 2024-04-08 49/week @ 2024-04-15 11/week @ 2024-04-22 4/week @ 2024-04-29 10/week @ 2024-05-06 31/week @ 2024-05-13 15/week @ 2024-05-27 31/week @ 2024-06-03 17/week @ 2024-06-10 49/week @ 2024-06-24

每月下载量98

MIT许可证

45KB
1K SLoC

Zip归档

zip_archive是一个将目录归档为特定压缩格式的库。支持多线程。

7z格式的要求

要使用7z归档格式,您需要安装7z或根据操作系统获取可执行文件。

Windows 10

  1. 安装7-Zip
  2. 在已安装的7z文件夹中找到7z.exe文件,并将其添加到路径中。或者将其放置在项目根文件夹中。

macOS

  1. 下载macOS的7-Zip控制台版本可执行文件
  2. 将7zz可执行文件放置在主目录中。

示例

有关更多信息示例,请参阅文档页面


lib.rs:

Zip归档

zip_archive是一个将目录归档为特定压缩格式的库。支持多线程。

支持的格式

格式 描述
xz 使用[xz2] crate。
7z 参见要求部分。
[zip] 使用[zip] crate。

示例

  • 使用4个线程压缩根目录。
use std::path::PathBuf;
use zip_archive::Archiver;

let origin = PathBuf::from("./origin");
let dest = PathBuf::from("./dest");
let thread_count = 4;

let mut archiver = Archiver::new();
archiver.push(origin);
archiver.set_destination(dest);
archiver.set_thread_count(thread_count);

match archiver.archive(){
    Ok(_) => (),
    Err(e) => println!("Cannot archive the directory! {}", e),
};
  • 使用容器的迭代器压缩每个目录。
use std::path::PathBuf;
use zip_archive::Archiver;

let origin = PathBuf::from("./origin");
let dest = PathBuf::from("./dest");

let mut archiver = Archiver::new();
archiver.push_from_iter(vec!["./origin/dir1", "./origin/dir2", "./origin/dir3"].into_iter());
archiver.set_destination(dest);
match archiver.archive(){
    Ok(_) => (),
    Err(e) => println!("Cannot archive the directory! {}", e),
};
  • 使用.xz格式压缩目录。
use std::path::PathBuf;
use zip_archive::Format;
use zip_archive::{Archiver, get_dir_list_with_depth};

let origin = PathBuf::from("./origin");  // Change to the wanted directory.
let dest = PathBuf::from("./dest");

let mut archiver = Archiver::new();
archiver.push(origin);
archiver.set_destination(dest);
archiver.set_format(Format::Xz); // == `archiver.set_format_str("xz");`
match archiver.archive(){
    Ok(_) => (),
    Err(e) => println!("Cannot archive the directory! {}", e),
};

7z格式的要求

要使用7z归档格式,您需要安装7z或根据操作系统获取可执行文件。

Windows 10

  1. 安装7-Zip
  2. 在已安装的程序文件夹中找到7z.exe文件,并将其添加到路径中。或者将其放置在项目根文件夹中。

macOS

  1. 下载macOS的7-Zip控制台版本可执行文件
  2. 将7zz可执行文件放置在主目录中。

依赖关系

~8–17MB
~223K SLoC