org.apache.commons.configuration
public class INIConfiguration extends AbstractFileConfiguration
An initialization or ini file is a configuration file tpically found on Microsoft's Windows operating system and contains data for Windows based applications.
Although popularized by Windows, ini files can be used on any system or platform due to the fact that they are merely text files that can easily be parsed and modified by both humans and computers.
A typcial ini file could look something like:
[section1]
; this is a comment!
var1 = foo
var2 = bar
[section2]
var1 = doo
The format of ini files is fairly straight forward and is comosed of three
components:
key = value
format.There are various implementations of the ini file format by various vendors which has caused a number of differences to appear. As far as possible this configuration tries to be lenient and support most of the differences.
Some of the differences supported are as follows:
var1 : foo
.Global parameters are also allowed; any parameters declared before a section is declared are added to a global section. It is important to note that this global section does not have a name.
In all instances, a parameter's key is prepended with its section name and a
'.' (period). Thus a parameter named "var1" in "section1" will have the key
section1.var1
in this configuration. Thus, a section's
parameters can easily be retrieved using the subset
method
using the section name as the prefix.
default = ok
[section1]
var1 = foo
var2 = doodle
[section2]
; a comment
var1 = baz
var2 = shoodle
bad =
= worse
[section3]
# another comment
var1 : foo
var2 : bar
var5 : test1
[section3]
var3 = foo
var4 = bar
var5 = test2
This ini file will be parsed without error. Note:
getProperty("default")
.getProperty("section1.var1")
.getProperty("section2.")
, notice the period '.' following the
section name.
The set of sections in this configuration can be retrieved using the
getSections
method.
Since: 1.4
Version: $Id: INIConfiguration.java 492216 2007-01-03 16:51:24Z oheger $
Field Summary | |
---|---|
protected static String | COMMENT_CHARS
The characters that signal the start of a comment line. |
static String | LINE_SEPARATOR Constant for the used line separator. |
protected static String | SEPARATOR_CHARS
The characters used to separate keys from values. |
Constructor Summary | |
---|---|
INIConfiguration()
Create a new empty INI Configuration. | |
INIConfiguration(String filename)
Create and load the ini configuration from the given file.
| |
INIConfiguration(File file)
Create and load the ini configuration from the given file.
| |
INIConfiguration(URL url)
Create and load the ini configuration from the given url.
|
Method Summary | |
---|---|
Set | getSections()
Return a set containing the sections in this ini configuration. |
protected boolean | isCommentLine(String s)
Determine if the given line is a comment line.
|
protected boolean | isSectionLine(String s)
Determine if the given line is a section.
|
void | load(Reader reader)
Load the configuration from the given reader. |
void | save(Writer writer)
Save the configuration to the specified writer.
|
Parameters: filename The name pr path of the ini file to load.
Throws: ConfigurationException If an error occurs while loading the file
Parameters: file The ini file to load.
Throws: ConfigurationException If an error occurs while loading the file
Parameters: url The url of the ini file to load.
Throws: ConfigurationException If an error occurs while loading the file
Returns: a set containing the sections.
Parameters: s The line to check.
Returns: true if the line is empty or starts with one of the comment characters
Parameters: s The line to check.
Returns: true if the line contains a secion
clear
method is not called so the configuration read in
will be merged with the current configuration.
Parameters: reader The reader to read the configuration from.
Throws: ConfigurationException If an error occurs while reading the configuration
Parameters: writer - The writer to save the configuration to.
Throws: ConfigurationException If an error occurs while writing the configuration