use std::io::prelude::*; fn main() { std::process::exit(real_main()); } fn real_main() -> i32 { let args: Vec<_> = std::env::args().collect(); if args.len() < 2 { println!("Usage: {} ", args[0]); return 1; } let fname = std::path::Path::new(&*args[1]); let zipfile = std::fs::File::open(fname).unwrap(); let mut archive = zip::ZipArchive::new(zipfile).unwrap(); let mut file = match archive.by_name("test/lorem_ipsum.txt") { Ok(file) => file, Err(..) => { println!("File test/lorem_ipsum.txt not found"); return 2; } }; let mut contents = String::new(); file.read_to_string(&mut contents).unwrap(); println!("{}", contents); 0 }