Crate compress_tools[−][src]
Expand description
The compress-tools
crate aims to provide a convenient and easy to use set
of methods which builds on top of libarchive
exposing a small set of it’s
functionalities.
Platform | Build Status |
---|---|
Linux - x86_64 | |
Linux - AArch64 | |
Linux - ARMv7 | |
macOS - x86_64 | |
Windows - x86_64 |
Dependencies
You must have libarchive
, 3.2.0 or newer, properly installed on your
system in order to use this. If building on *nix and Windows GNU
systems, pkg-config
is used to locate the libarchive
; on Windows
MSVC, vcpkg
will be used to locating the libarchive
.
The minimum supported Rust version is 1.46.
Features
This crate is capable of extracting:
- compressed files
- archive files
- single file from an archive
For example, to extract an archive file it is as simple as:
use compress_tools::*;
use std::fs::File;
use std::path::Path;
let mut source = File::open("tree.tar.gz")?;
let dest = Path::new("/tmp/dest");
uncompress_archive(&mut source, &dest, Ownership::Preserve)?;
Modules
Generic async support with which you can use you own thread pool by
implementing the BlockingExecutor
trait.
Async support with a built-in thread pool.
Async support that uses tokio::task::spawn_blocking
and its I/O traits.
Structs
An iterator over the contents of an archive.
Enums
The contents of an archive, yielded in order from the beginning to the end of the archive.
Determine the ownership behavior when unpacking the archive.
Functions
Get all files in a archive using source
as a reader.
Uncompress an archive using source
as a reader and dest
as the
destination directory.
Uncompress a specific file from an archive. The source
is used as a
reader, the target
as a writer and the path
is the relative path for
the file to be extracted from the archive.
Uncompress a file using the source
need as reader and the target
as a
writer.