@@ -6,24 +6,54 @@ Where the documentation is ambiguous or incomplete, behavior is based on the beh
6
6
7
7
## Example
8
8
``` 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 ;
9
15
use std :: collections :: HashMap ;
10
16
use std :: env :: temp_dir;
11
17
use std :: fs :: File ;
18
+ use std :: io :: prelude :: * ;
12
19
use std :: io :: BufReader ;
13
20
use std :: io :: BufWriter ;
14
- use std :: io :: prelude :: * ;
15
21
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 );
18
54
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 ());
24
56
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
+ }
29
59
```
0 commit comments