Expand description
ArchiveReader
is a library that wraps partial read functions from libarchive.
It provides rustic interface over listing file names and reading given files within archives.
§Example
use archive_reader::Archive;
use archive_reader::error::Result;
fn main() -> Result<()> {
let mut archive = Archive::open("some_archive.zip");
let file_names = archive
.block_size(1024 * 1024)
.list_file_names()?
.collect::<Result<Vec<_>>>()?;
let mut content = vec![];
let _ = archive.read_file(&file_names[0], &mut content)?;
println!("content={content:?}");
Ok(())
}
§Features
lending_iter
- EnablesLendingIterator
implementation, which avoids heap allocations forread_file_by_block
function.
Re-exports§
pub use error::*;