【问题标题】:Saving and updating configuration settings in Java application在 Java 应用程序中保存和更新配置设置
【发布时间】:2013-07-05 01:34:48
【问题描述】:

我设计了一个 Java 应用程序,我想保存它的最后一个窗口状态和一些其他设置,如日期格式。我目前将窗口状态保存到“config.ini”文件,它适用于这段代码。

    private void saveConfig() {
        try {
            Properties properties = new Properties();

            properties.setProperty("windowstate", String.valueOf(this.getExtendedState()));

            properties.store(new FileOutputStream("./data/config.ini"), null);

        } catch (Exception e) {
        }
    }

但我也想保存一些其他设置。为此,我可以更新此 config.ini 文件的各个参数吗? (目前只有“windowstate”,以防有日期格式、上次使用的电子邮件地址等...)

我现在的文件是这样的

#Sun Jul 07 22:19:35 IST 2013
windowstate=0

例如如果config.ini文件是这样的

#Sun Jul 07 22:19:35 IST 2013
windowstate=0
dateformat=yyyy-MM-dd
lastmailaddress=abcd@mail.com

我可以只更新“lastmailaddress”而不影响其他人吗?如何? 目前我的代码正在覆盖这个文件。

谢谢。

【问题讨论】:

    标签: java ini


    【解决方案1】:

    您每次都在声明一个新的Properties,并在其中添加windowstate。它怎么会知道其他任何事情?

    你必须:

    1. 从文件中加载属性

    2. 添加和/或修改设置

    3. 将属性保存到同一个文件

    【讨论】:

      【解决方案2】:
      FileInputStream in = new FileInputStream("D:/raman/abnconfig.ini");
      Properties props = new Properties();
      props.load(in);
      in.close();
      FileOutputStream out = new FileOutputStream("D:/raman/abnconfig.ini");
      props.setProperty("HSMLUNAPWD", "AUS");
      props.store(out, null);
      out.close();
      

      【讨论】:

      • 欢迎来到 SO :-) 只需几个 cmets:a) 请学习如何格式化代码(一开始可能很诱人,因为我记得从我在这里的第一天开始 :-) b)添加对代码 sn-p 的一点解释有助于未来的读者更好地理解解决方案
      猜你喜欢
      • 1970-01-01
      • 2013-04-06
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 2014-03-22
      • 2011-07-19
      • 1970-01-01
      相关资源
      最近更新 更多