Skip to content

Commit 78dcab5

Browse files
author
Ryan Hatfield
committed
Update README example code
Changes to example code: * `#![allow(unused)]` to hide warnings * add dependencies used * wrap in main function * include same code as library example * order operations to read/write simple then advanced * output test file to validate results
1 parent fb2473e commit 78dcab5

File tree

1 file changed

+42
-12
lines changed

1 file changed

+42
-12
lines changed

README.md

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,54 @@ Where the documentation is ambiguous or incomplete, behavior is based on the beh
66

77
## Example
88
```rust
9+
#![allow(unused)]
10+
11+
use java_properties::read;
12+
use java_properties::write;
13+
use java_properties::PropertiesIter;
14+
use java_properties::PropertiesWriter;
915
use std::collections::HashMap;
1016
use std::env::temp_dir;
1117
use std::fs::File;
18+
use std::io::prelude::*;
1219
use std::io::BufReader;
1320
use std::io::BufWriter;
14-
use std::io::prelude::*;
1521

16-
let mut file_name = temp_dir();
17-
file_name.push("java-properties-test.properties");
22+
fn main() -> std::result::Result<(), java_properties::PropertiesError> {
23+
let mut file_name = temp_dir();
24+
file_name.push("java-properties-test.properties");
25+
26+
// Writing simple
27+
let mut src_map1 = HashMap::new();
28+
src_map1.insert("a".to_string(), "b".to_string());
29+
let mut f = File::create(&file_name)?;
30+
write(BufWriter::new(f), &src_map1)?;
31+
32+
// Reading simple
33+
let mut f2 = File::open(&file_name)?;
34+
let dst_map1 = read(BufReader::new(f2))?;
35+
assert_eq!(src_map1, dst_map1);
36+
37+
// Writing advanced
38+
let mut src_map2 = HashMap::new();
39+
src_map2.insert("c".to_string(), "d".to_string());
40+
let mut f = File::create(&file_name)?;
41+
let mut writer = PropertiesWriter::new(BufWriter::new(f));
42+
for (k, v) in &src_map2 {
43+
writer.write(&k, &v)?;
44+
}
45+
writer.flush();
46+
47+
// Reading advanced
48+
let mut f = File::open(&file_name)?;
49+
let mut dst_map2 = HashMap::new();
50+
PropertiesIter::new(BufReader::new(f)).read_into(|k, v| {
51+
dst_map2.insert(k, v);
52+
})?;
53+
assert_eq!(src_map2, dst_map2);
1854

19-
// Writing
20-
let mut map1 = HashMap::new();
21-
map1.insert("a".to_string(), "b".to_string());
22-
let mut f = File::create(&file_name)?;
23-
write(BufWriter::new(f), &map1)?;
55+
println!("file: {:#?}", file_name.as_path());
2456

25-
// Reading
26-
let mut f = File::open(&file_name)?;
27-
let map2 = read(BufReader::new(f))?;
28-
assert_eq!(src_map1, dst_map1);
57+
Ok(())
58+
}
2959
```

0 commit comments

Comments
 (0)