Class IniFileEditor

java.lang.Object
com.pnfsoftware.jeb.util.base.IniFileEditor

public class IniFileEditor extends Object
A reader-and-writer for ini configuration files.

Example of a valid ini file:

 [section1]
 
 foo
 
 bar
 
 [section2]
 x
 y
 [section3]
 [section4]
 z
 
 
  • Constructor Details

  • Method Details

    • setCommentChar

      public void setCommentChar(Character cc)
      Set a comment character for full-line comments.
      Parameters:
      cc - optional
    • getCommantChar

      public Character getCommantChar()
      Retrieve the optional comment character (full-line comments only).
      Returns:
    • update

      public void update() throws IOException
      Update the original ini file.
      Throws:
      IOException
    • write

      public void write(File newFile) throws IOException
      Write the updated contents to a new ini file.
      Parameters:
      newFile -
      Throws:
      IOException
    • getSectionNames

      public List<String> getSectionNames()
      Retrieve the list of sections in the ini file.
      Returns:
    • getSectionContents

      public List<String> getSectionContents(String sectionName)
      Retrieve the contents of a section.
      Parameters:
      sectionName -
      Returns:
      the section contents, never null; blank entries are not present
    • getSectionKeyValues

      public Map<String,String> getSectionKeyValues(String sectionName)
      Retrieve the key-value entries for the provided section.
      Parameters:
      sectionName - case-sensitive section name
      Returns:
      a collection, possibly empty
    • setSectionContents

      public void setSectionContents(String sectionName, List<String> contents)
      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

      public String getValue(String keyName)
      Retrieve a value.
      Parameters:
      keyName - key name
      Returns:
      the value, null if not found
    • getValue

      public String getValue(String sectionName, String keyName)
      Retrieve a value.
      Parameters:
      sectionName - section name
      keyName - key name
      Returns:
      the value, null if not found
    • getValue

      public String getValue(String sectionName, String keyName, String delimiter)
      Retrieve a value.
      Parameters:
      sectionName -
      keyName -
      delimiter -
      Returns:
      the value, null if not found
    • setValue

      public boolean setValue(String sectionName, String keyName, String value)
      Set a value.
      Parameters:
      sectionName -
      keyName -
      value -
      Returns:
      true if the value was new or a true update; false if the key-value pair already exists
    • setValue

      public boolean setValue(String sectionName, String keyName, String value, String delimiter)
      Set a value.
      Parameters:
      sectionName -
      keyName -
      value -
      delimiter -
      Returns:
      true if the value was new or a true update; false if the key-value pair already exists