public void load(String path) throws IOException {
        try {
            String line;
            String section = null;

            BufferedReader br = new BufferedReader(new FileReader(path));

            try {
                while ((line = br.readLine()) != null) {
                    Matcher m = _section.matcher(line);
                    if (m.matches()) {
                        section = m.group(1).trim();
                    } else if (section != null) {
                        m = _keyValue.matcher(line);
                        if (m.matches()) {
                            String key = m.group(1).trim();
                            String value = m.group(2).trim();
                            Map< String, String> kv = _entries.get(section);
                            if (kv == null) {
                                _entries.put(section, kv = new HashMap<String, String>());
                            }
                            kv.put(key, value);
                        }
                    }
                }
            } finally {
                br.close();
            }
        } catch (IOException ex) {

        }
    }