zip-extensions-rs
An extension crate for https://github.com/mvdnes/zip-rs that provides high-level functions for common ZIP tasks, such as extracting archives to a directory.
Usage examples
Configure dependencies
Add the following dependencies to the Cargo.toml file.
[]
= "0.5.5"
= "0.5.0"
See https://github.com/mvdnes/zip-rs fur further information about zip dependencies.
Extracting an archive to a directory
The ZipArchiveExtensions trait provides the extract method that can be used to unzip an archive to a directory.
use File;
use ZipArchiveExtensions;
...
let file = create.unwrap;
let mut archive = new.unwrap;
archive.extract.unwrap;
Alternatively, the zip_extract helper can be used.
use *;
...
let archive_file: PathBuf = ...
let target_dir: PathBuf = ...
zip_extract.unwrap;
Extracting an archive entry into memory
The zip_extract_file_to_memory method can be used to extract entries ad-hoc into memory.
use *;
let archive_file = from_str.unwrap;
let entry_path = from_str.unwrap;
let mut buffer : = vec!;
match zip_extract_file_to_memory ;
Creating an archive from a directory
The ZipWriterExtensions trait provides the create_from_directory and create_from_directory_with_options methods that can be used to add an entire directory hierarchy to an archive.
use ZipWriter;
use ZipWriterExtensions;
...
let file = create.unwrap;
let mut zip = new;
zip.create_from_directory.unwrap
Alternatively, the zip_create_from_directory helper can be used.
use *;
...
let archive_file: PathBuf = ...
let source_dir: PathBuf = ...
zip_create_from_directory.unwrap;