read_properties/
read-properties.rs1use std::env;
2use std::fs::File;
3use std::io::BufReader;
4
5use dot_properties::read_properties;
6
7fn main() {
8 let args: Vec<String> = env::args().collect();
9
10 let [program_name, args @ ..] = &args[..] else {
11 unreachable!("Who wouldn't give me a program name?!");
12 };
13
14 if args.is_empty() {
15 eprintln!("Usage: {} <paths to .properties files...>", program_name);
16 std::process::exit(1);
17 }
18
19 for props_path in args {
20 println!("\nReading {:?}", &props_path);
21
22 let file = match File::open(props_path) {
23 Ok(file) => file,
24 Err(e) => {
25 eprintln!("IO error: {}", e);
26 continue;
27 }
28 };
29
30 let mut reader = BufReader::new(file);
31 match read_properties(&mut reader) {
32 Ok(properties) => println!("{:#?}", properties),
33 Err(e) => eprintln!("Parsing error: {}", e),
34 }
35 }
36}