Extract Archives
- Endings Supported:
.7z .zip .tar .tar.gz .tgz .tar.xz .txz
- in terms of speed is the
tar section the fastest.
Examples
Embed Dir
use ufs::bind_dir;
fn main() -> anyhow::Result<()> {
let unifs = bind_dir!("examples/files");
for item in unifs.iter() {
println!("embed > {:?}", item);
}
}
Static Dir
use ufs::UnifiedFS;
fn main() -> anyhow::Result<()> {
let unifs = UnifiedFS::new();
for item in unifs.walk(concat!(env!("CARGO_MANIFEST_DIR"), "/examples/files")) {
println!("embed > {:?}", item);
}
}
Embed dir & walk Static
use ufs::{ bind_dir, UnifiedFS };
fn main() -> anyhow::Result<()> {
let unifs = bind_dir!("examples/files");
for item in unifs.iter() {
println!("embed > {:?}", item);
}
for item in unifs.walk(concat!(env!("CARGO_MANIFEST_DIR"), "/examples/files")) {
println!("local > {:?}", item);
}
}
Extract Archives in Embed dir & walk Static
use ufs::{ bind_dir, UnifiedFS, AchiveExt };
fn main() -> anyhow::Result<()> {
for item in unifs.walk(concat!(env!("CARGO_MANIFEST_DIR"), "/examples/files")) {
if item.is_archive() {
item.archive()?.entries(|mut entry| {
println!("{:?} > {:?}", item.path, entry.content().unwrap().len());
})?;
}
}
}