Магазин 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");
}
... что хранится в файле изменений.