ini-rs
A rust crate to read an INI file into a structure. The data can be accessed directly if required.
Recent Changes
Added support for global parameters
Input buffered, allowing for larger and faster parsing
Changed from b tree to Hashmap, speed up processing. Should have done this in the first place
Added new functions to ignore case, useful when interacting with windows INI files
Examples
Load an INI file
use Ini;
// Load foo.ini
let mut foo = match new ;
Read data from an INI file
match foo.get
Change data in the INI file, then save the change
foo.set;
match foo.save
Remove data from the INI file
foo.remove;
foo.remove_section;
Functions
new(location: String) -> Result<Ini, io::Error>
Load an INI file. If the file doesn't exist, create a blank Ini structure. Will return Err(io::Error) if the file provided is invalid.
set(section: &str, key: &str, value: &str) -> ()
Set, or create if it doesn't exist, a value in a section. It will also create the section if the section doesn't exist. This does not save the file.
get(section: &str, key: &str) -> Option
Get the key from the provided section. If it doesn't exist, returns None.
remove(section: &str, key: &str) -> ()
Remove a key from a section. Will not error if it doesn't exist. This does not save the file.
remove_section(section: &str) -> ()
Remove a section, will remove all keys from the section. Will not error if it doesn't exist. This does not save the file.
save() -> Result<usize, io::Error>
Save the changes to the file. Will not keep any comments present in the file. Ok(usize) contains the new size of the file.
from_string(str: String) -> Result<Ini, io::Error>
Make an INI structure from a string. Does not set the config_file so cannot save unless set manually.
to_string() -> Result<String, io::Error>
Dump out the contents of the structure in the INI format to a string.