我有一项任务是创建一个 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/