2011-08-21 83 views
1

继简单的ini4j教程后,我写了一个类来读写JDBC连接。 下面是当点击该对话框按钮我做的:ini4j商店不工作

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"); 
} 

...存储在文件中的变化。