]>
git.proxmox.com Git - pxar.git/blob - examples/randaccess.rs
1 use pxar
::accessor
::Accessor
;
4 let mut args
= std
::env
::args_os().skip(1);
6 let file
= args
.next().expect("expected a file name");
8 let mut accessor
= Accessor
::open(file
).expect("failed to open file");
11 .expect("failed to open archive root directory");
12 for i
in dir
.decode_full().expect("failed to access root directory") {
13 println
!("{:#?}", i
.expect("failed to parse entry").path());
18 .expect("error looking up da/")
19 .expect("failed to lookup da/");
20 dir
.lookup("db").expect("failed to lookup db");
21 dir
.lookup("root1.txt").expect("failed to lookup root1.txt");
22 dir
.lookup("root2.txt").expect("failed to lookup root2.txt");
24 println
!("{:?}", da
.entry());
25 let da
= da
.enter_directory().expect("failed to enter /da directory");
26 for i
in da
.decode_full().expect("failed to access /da directory") {
29 i
.expect("failed to parse /da file entry").path()
33 for i
in dir
.read_dir() {
34 let i
= i
.expect("failed to read directory entry");
35 println
!("read_dir => {:?}", i
.file_name());
38 // let file = tokio::fs::File::open(file)
40 // .expect("failed to open file");
42 // let mut reader = Accessor::from_tokio(file)
44 // .expect("failed to open pxar archive contents");
46 // while let Some(entry) = reader.next().await {
47 // println!("{:#?}", entry.expect("failed to parse entry").path());
54 // // Use a Stream for the remaining entries:
55 // use futures::stream::StreamExt;
57 // let mut stream = reader.into_stream();
59 // while let Some(entry) = stream.next().await {
60 // println!("{:#?}", entry.expect("failed to parse entry").path());