java - 在 Java Swing 应用程序中读写属性文件

标签 java swing properties

我有一项任务是创建一个 java Swing 应用程序来使用 mysql 数据库做一些事情,我计划在 .properties 文件中设置数据库连接属性。在该应用程序中,用户应该能够通过应用程序更改数据库属性。我遇到的问题是如何通过 swing 应用程序读取和写入属性文件。

try {
            Properties prop = new Properties();
//reading properties
            FileInputStream in = new FileInputStream("conf/properties.xml");
            prop.loadFromXML(in);           
            System.out.println(prop.getProperty("driver"));
            in.close();

//Writing properties
FileOutputStream out = new FileOutputStream("conf/properties.xml");
prop.setProperty("username", "root");
prop.storeToXML(out, "rhym");
out.close();

        } catch (Exception e) {
            e.printStackTrace();
        }

xml文件..

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <comment>database configuration</comment>
    <entry key="driver">com.mysql.jdbc.Driver</entry>
    <entry key="ip">127.0.0.1</entry>
    <entry key="port">3306</entry>
    <entry key="database">ofm_mnu_jvs</entry>
    <entry key="username">user1</entry>
    <entry key="password">123789</entry>
</properties>

最佳答案

对我来说这听起来像是一个程序设计练习:)

首先,您需要编写代码来处理持久化 Java 的 Properties 对象到磁盘,以及从磁盘检索 Properties。您可以通过多种方式执行此操作,但最好的方法是使用 Java Properties 语法将 Properties 对象的内容保存到用户可编辑的文本文件中。您的解析器只需要足够聪明,就能弄清楚如何将文件中的文本读回到 Properties 对象中,但这真的不难做到。

一旦您的程序能够正确地从文件中读取/写入 Java 属性语法,您就可以编写用户界面来仅处理 Properties 对象实例。每次用户更改字段或值时,UI 可以告诉您的持久性对象/方法保存 Properties 实例。

最重要的是,弄清楚如何将这个程序分解成更小的部分是最重要的。您可以轻松地编写一堆整体代码,直接从 Swing 中的 ActionListeners 保存您的属性文件,但这些代码都不可重用。将您的代码分解为更小的对象(解析器对象、UI 对象),然后只关注那些更小的部分,一次一个,直到您可以让它们一起工作以实现您的目标。

关于java - 在 Java Swing 应用程序中读写属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9670738/

相关文章:

java - Android 中字符串资源中存储的 URL 变成数字

ios - 快速 valueForKeyPath 不起作用

java - ImmutableCollections SetN 实现细节

java - 在 selenium webdriver 中运行测试脚本 100 次

java - 从菜单栏打开登录屏幕

Java:如何根据选择的单选按钮更改图像面板中的图像

ember.js - 如何访问传递给组件类内的 Ember 组件的属性?

properties - 选项、设置、属性、配置、首选项——何时以及为什么?

java - 获取应用关闭事件

java - 一旦图像被打包到 jar 中,如何引用图像?