Crate java_properties [−] [src]
Utilities for reading and writing Java properties files
The specification is taken from https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html. Where the documentation is ambiguous or incomplete, behavior is based on the behavior of java.util.Properties.
Examples
use java_properties::PropertiesIter; use java_properties::PropertiesWriter; use java_properties::read; use java_properties::write; use std::collections::HashMap; use std::env::temp_dir; use std::fs::File; use std::io::BufReader; use std::io::BufWriter; use std::io::prelude::*; let mut file_name = temp_dir(); file_name.push("java-properties-test.properties"); // Writing simple let mut src_map1 = HashMap::new(); src_map1.insert("a".to_string(), "b".to_string()); let mut f = try!(File::create(&file_name)); try!(write(BufWriter::new(f), &src_map1)); // Writing advanced let mut src_map2 = HashMap::new(); src_map2.insert("a".to_string(), "b".to_string()); let mut f = try!(File::create(&file_name)); let mut writer = PropertiesWriter::new(BufWriter::new(f)); for (k, v) in src_map2.iter() { try!(writer.write(&k, &v)); } writer.flush(); // Reading simple let mut f2 = try!(File::open(&file_name)); let dst_map1 = try!(read(BufReader::new(f2))); assert_eq!(src_map1, dst_map1); // Reading advanced let mut f = try!(File::open(&file_name)); let mut dst_map2 = HashMap::new(); try!(PropertiesIter::new(BufReader::new(f)).read_into(|k, v| { dst_map2.insert(k, v); })); assert_eq!(src_map2, dst_map2);Run
Structs
Line |
A line read from a properties file. |
PropertiesError |
The error type for reading and writing properties files. |
PropertiesIter |
Parses a properties file and iterates over its contents. |
PropertiesWriter |
Writes to a properties file. |
Enums
LineContent |
Parsed content of the line. |
LineEnding |
A line ending style allowed in a Java properties file. |
Functions
read |
Reads a properties file into a hash map. |
write |
Writes a hash map to a properties file. |