Programming Tips - Java: Very simple way to read an .ini file

Date: 2014dec15 Update: 2025oct11 Language: Java Q. Java: Very simple way to read an .ini file A. Full example:
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.LinkedHashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; class Demo { static class IniFile { // Does not handle comments or blank lines private static Pattern secpat = Pattern.compile("\\[(.+)\\]"); private static Pattern vpat = Pattern.compile("([^=]+)=(.*)"); // LinkedHashMap preserves order public static LinkedHashMap<String, String> load(final String strIniFile) { LinkedHashMap<String, String> map = new LinkedHashMap<String, String>(); String section = ""; try { InputStream in = new FileInputStream(strIniFile); BufferedReader br = new BufferedReader(new InputStreamReader(in), 5 * 1024); String line; while ((line = br.readLine()) != null) { Matcher secMatcher = secpat.matcher(line); if (secMatcher.matches()) { section = secMatcher.group(1); continue; } Matcher vMatcher = vpat.matcher(line); if (vMatcher.matches()) { map.put(section + "." + vMatcher.group(1), vMatcher.group(2)); continue; } } in.close(); } catch (IOException ex) { System.err.println("Could not read because " + ex.getMessage()); } return map; } } public static final void main(String[] args) { var ini = IniFile.load("test.ini"); System.out.println("ini=" + ini); } }
With file test.ini:
[general] debug=yes another_variable=maybe
Output:
ini={general.debug=yes, general.another_variable=maybe}