java - 在 Java 应用程序中保存和更新配置设置

标签 java ini

我设计了一个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 文件的各个参数吗? (目前只有“窗口状态”,以防出现日期格式、上次使用的电子邮件地址等内容...)

我当前的文件是这样的

#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”而不影响其他人吗?如何? 目前我的代码正在覆盖这个文件。

谢谢。

最佳答案

您每次都声明一个新的Properties,并只向其中添加windowstate。它怎么可能知道其他事情?

你必须:

  1. 从文件加载属性

  2. 添加和/或修改设置

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

关于java - 在 Java 应用程序中保存和更新配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17514447/

相关文章:

java - 在 Freemarker 中遍历两个序列

xml - 选择什么设置存储格式?

php - 当使用 Zend_Config_Ini 时,如何指定相对于配置文件位置的文件路径?

java - 给定 jRadioButton 选项的 jButton 的 ActionEvent

java - 如何在 Activity 中实现 JavaDelegate 接口(interface)的一个类中放置多个服务

java - Thymeleaf:通过索引从数组列表中获取项目

java - 解释这个输出

python - ConfigParser 获取所有具有重复项的键

c++ - boost::program_options - 如何处理 INI 文件中具有相同名称的多个部分

c++ - 使用 64 位编译器在 C++ 中读取 ini 文件