5
0
mirror of git://git.proxmox.com/git/pxar.git synced 2024-12-22 21:33:50 +03:00
pxar/examples/apxar.rs

33 lines
866 B
Rust
Raw Normal View History

use pxar::decoder::aio::Decoder;
#[tokio::main]
async fn main() {
let mut args = std::env::args_os().skip(1);
let file = args.next().expect("expected a file name");
let file = tokio::fs::File::open(file)
.await
.expect("failed to open file");
let mut reader = Decoder::from_tokio(file)
.await
.expect("failed to open pxar archive contents");
let mut i = 0;
while let Some(entry) = reader.next().await {
println!("{:#?}", entry.expect("failed to parse entry").path());
i += 1;
if i == 2 {
break;
}
}
// Use a Stream for the remaining entries:
use futures::stream::StreamExt;
let mut stream = reader.into_stream();
while let Some(entry) = stream.next().await {
println!("{:#?}", entry.expect("failed to parse entry").path());
}
}