Crate java_properties
source ·Expand description
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 = File::create(&file_name)?;
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 = File::create(&file_name)?;
let mut writer = PropertiesWriter::new(BufWriter::new(f));
for (k, v) in &src_map2 {
writer.write(&k, &v)?;
}
writer.finish();
// Reading simple
let mut f2 = File::open(&file_name)?;
let dst_map1 = read(BufReader::new(f2))?;
assert_eq!(src_map1, dst_map1);
// Reading advanced
let mut f = File::open(&file_name)?;
let mut dst_map2 = HashMap::new();
PropertiesIter::new(BufReader::new(f)).read_into(|k, v| {
dst_map2.insert(k, v);
})?;
assert_eq!(src_map2, dst_map2);
Structs
- A line read from a properties file.
- The error type for reading and writing properties files.
- Parses a properties file and iterates over its contents.
- Writes to a properties file.
Enums
- Parsed content of the line.
- A line ending style allowed in a Java properties file.
Functions
- Reads a properties file into a hash map.
- Writes a hash map to a properties file.