1

簡単な 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 の終了

読み取りはうまく機能しますが、「保存」を押すと次のようになります。

新しいセクションと値がメモリに書き込まれます (再読み込みできます)。ただし、ファイルは更新されず、同じままです。

私は何が欠けていますか?

4

1 に答える 1

1

次のコードを忘れました:

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

...ファイルの変更に保存されます。

于 2012-07-19T13:38:10.383 に答える