Crate mtzip

Source
Expand description

§mtzip

MTZIP (Stands for Multi-Threaded ZIP) is a library for making zip archives while utilising all available performance available with multithreading. The amount of threads can be limited by the user or detected automatically.

Example usage:

use mtzip::ZipArchive;

// Creating the zipper that holds data and handles compression
let mut zipper = ZipArchive::new();

// Adding a file from filesystem
zipper.add_file_from_fs(
    Path::new("input/test_text_file.txt"),
    "test_text_file.txt".to_owned(),
);

// Adding a file with data from a memory location
zipper.add_file_from_memory(b"Hello, world!", "hello_world.txt".to_owned());

// Adding a directory and a file to it
zipper.add_directory("test_dir".to_owned());
zipper.add_file_from_fs(
    Path::new("input/file_that_goes_to_a_dir.txt"),
    "test_dir/file_that_goes_to_a_dir.txt".to_owned(),
);

// Writing to a file
// First, open the file
let mut file = File::create("output.zip").unwrap();
// Then, write to it
zipper.write(&mut file); // Amount of threads is chosen automatically

Modules§

Structs§

Enums§