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§
- ZIP file extra field
- Compression level
Structs§
- Structure that holds the current state of ZIP archive creation.
- Builder used to optionally add additional attributes to a file or directory. The default compression type is
CompressionType::Deflate
and default compression level isCompressionLevel::best