Package com.pnfsoftware.jeb.util.base
Class IniFileEditor
java.lang.Object
com.pnfsoftware.jeb.util.base.IniFileEditor
A reader-and-writer for
ini configuration files.
Example of a valid ini file:
[section1] foo bar [section2] x y [section3] [section4] z
-
Constructor Summary
ConstructorsConstructorDescriptionIniFileEditor(File file) Create an editor by reading an ini file.IniFileEditor(File file, Character commentChar) Create an editor by reading an ini file.IniFileEditor(String str) Create an editor from ini text.IniFileEditor(String str, Character commentChar) Create an editor from ini text. -
Method Summary
Modifier and TypeMethodDescriptionRetrieve the optional comment character (full-line comments only).getSectionContents(String sectionName) Retrieve the contents of a section.getSectionKeyValues(String sectionName) Retrieve the key-value entries for the provided section.Retrieve the list of sections in the ini file.Retrieve a value.Retrieve a value.Retrieve a value.voidSet a comment character for full-line comments.voidsetSectionContents(String sectionName, List<String> contents) Set the contents of a new section.booleanSet a value.booleanSet a value.voidupdate()Update the original ini file.voidWrite the updated contents to a new ini file.
-
Constructor Details
-
IniFileEditor
Create an editor by reading an ini file.- Parameters:
file- ini filecommentChar- optional full-line comment character- Throws:
IOException- if the file cannot be read
-
IniFileEditor
Create an editor by reading an ini file.- Parameters:
file- ini file- Throws:
IOException- if the file cannot be read
-
IniFileEditor
Create an editor from ini text.- Parameters:
str- ini textcommentChar- optional full-line comment character
-
IniFileEditor
Create an editor from ini text.- Parameters:
str- ini text
-
-
Method Details
-
setCommentChar
Set a comment character for full-line comments.- Parameters:
cc- optional full-line comment character
-
getCommentChar
Retrieve the optional comment character (full-line comments only).- Returns:
- comment character, or null if none is set
-
update
Update the original ini file.- Throws:
IOException- if the file cannot be written
-
write
Write the updated contents to a new ini file.- Parameters:
newFile- destination file- Throws:
IOException- if the file cannot be written
-
getSectionNames
Retrieve the list of sections in the ini file.- Returns:
- section names in file order
-
getSectionContents
Retrieve the contents of a section.- Parameters:
sectionName- section name, or null for the pre-section header- Returns:
- the section contents, never null; blank entries are not present
-
getSectionKeyValues
Retrieve the key-value entries for the provided section.- Parameters:
sectionName- case-sensitive section name- Returns:
- a collection, possibly empty
-
setSectionContents
Set the contents of a new section. The section is created if it does not exist.- Parameters:
sectionName- section name (without bracket)contents- blank lines are not added
-
getValue
Retrieve a value.- Parameters:
keyName- key name- Returns:
- the value, null if not found
-
getValue
Retrieve a value.- Parameters:
sectionName- section namekeyName- key name- Returns:
- the value, null if not found
-
getValue
Retrieve a value.- Parameters:
sectionName- section name, or null for the pre-section headerkeyName- key namedelimiter- key-value delimiter- Returns:
- the value, null if not found
-
setValue
Set a value.- Parameters:
sectionName- section name, or null for the pre-section headerkeyName- key namevalue- value to set- Returns:
- true if the value was new or a true update; false if the key-value pair already exists
-
setValue
Set a value.- Parameters:
sectionName- section name, or null for the pre-section headerkeyName- key namevalue- value to setdelimiter- key-value delimiter- Returns:
- true if the value was new or a true update; false if the key-value pair already exists
-