<p>I am writing a drop-in replacement for a legacy application in Java.  One of the requirements is that the ini files that the older application used have to be read as-is into the new Java Application.  The format of this ini files is the common windows style, with header sections and key=value pairs, using # as the character for commenting.</p>

<p>I tried using the Properties class from Java, but of course that won't work if there is name clashes between different headers.</p>

<p>So the question is, what would be the easiest way to read in this INI file and access the keys?</p>

The library I've used is
ini4j
.  It is lightweight and parses the ini files with ease.  Also it uses no esoteric dependencies to 10,000 other jar files, as one of the design goals was to use only the standard Java API
This is an example on how the library is used:
```
```
Ini ini = new Ini(new File(filename));
java.util.prefs.Preferences prefs = new IniPreferences(ini);
System.out.println("grumpy/homePage: " + prefs.node("grumpy").get("homePage", null));
```
```