Магазин ini4j не работает

Следуя простому учебнику ini4j, я написал класс для чтения и записи соединений JDBC. Вот что я делаю, нажимая на кнопки диалога:

public void actionPerformed(ActionEvent ae){
    JButton b = (JButton)ae.getSource();

    if (b == save || b == load) {
        try {
            Ini ini;
            String section = name.getText();

            if (b == load) {
                System.out.println("Loading " + section);

                ini = new Ini(new File(cfgname));
                driver.setText(ini.get(section, "Driver"));
                url.setText(ini.get(section, "URL"));
                username.setText(ini.get(section, "User"));
                password.setText(ini.get(section, "Password"));
            } else {
                System.out.println("Saving " + section);

                ini = new Ini(new File(cfgname));
                ini.put(section, "Driver", driver.getText());
                ini.put(section, "URL", url.getText());
                ini.put(section, "User", username.getText());
                ini.put(section, "Password", password.getPassword());
                ini.store();
            } // endif b

        } catch (FileNotFoundException fe) {
            System.out.println(cfgname + ": not found " + fe);
            setVisible(false);
        } catch (IOException ioe) {
            System.out.println(ioe);
            setVisible(false);
        } // end try/catch

    } else {        
        id = (ae.getSource() == ok);
        setVisible(false);
    } // endif b

} // конец actionPerformed

Чтение работает хорошо, но запись при нажатии "сохранить" делает следующее:

Новый раздел и значения записываются в память (я могу перезагрузить их), но файл не обновляется и остается прежним.

Что мне не хватает?

1 ответ

Вы забыли следующий код:

try {
    fontOption.store(new FileOutputStream("config/font.conf"));
} catch(IOException e) {
    System.err.println("font: cannot load font.conf or default.conf");
}

... что хранится в файле изменений.

Другие вопросы по тегам