1
我正在使用java.util.prefs.Preferences爲我的應用程序創建引用,但由於某種原因,我似乎無法從XML文件加載首選項。我沒有收到文件未找到的錯誤,所以它正在加載文件。它似乎沒有解析文件。有人能讓我知道我做錯了什麼嗎?偏好庫不加載偏好
澄清是該文件正在加載。行'root.exportSubtree(System.out)'輸出整個XML。然而,我從這個例子中只顯示了根用戶的根節點。這可能暗示了我的問題,但我仍然沒有解決它。
我Preferences類
package com.g4apps.secure.processserver;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.prefs.Preferences;
public class PSPrefs {
private String user;
private String url;
private String password;
private String database;
public PSPrefs(String file) {
InputStream is = null;
try {
is = new BufferedInputStream(new FileInputStream(file));
Preferences.importPreferences(is);
Preferences root = Preferences.userRoot();
root.exportSubtree(System.out);
this.user=root.get("user", "");
this.url=root.get("url", "");
this.password=root.get("password","");
this.database=root.get("database","");
}
catch (Exception e) {
e.printStackTrace();
}
}
public String getUser() {
return this.user;
}
public String getURL() {
return this.url;
}
public String getPassword() {
return this.password;
}
public String getDatabase() {
return this.database;
}
}
我的preferences.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<preferences EXTERNAL_XML_VERSION="1.0">
<root type="user">
<map/>
<node name="Server Settings">
<map>
<entry key="user" value="user"/>
<entry key="url" value="jdbc:mysql://mysqldb.com/"/>
<entry key="password" value="password"/>
<entry key="database" value="mydb"/>
</map>
</node>
</root>
</preferences>
感謝您的任何和所有幫助。
是啊,這不是它。我正在閱讀XML文件。雖然root.exportSubTree(System.out)行顯示整個XML。在這個例子中,我只是在type = user下面顯示了Subtree。 – Codeguy007 2012-08-08 21:06:55
@ Codeguy007對不起,早上應該確保完成一杯咖啡因:P – MadProgrammer 2012-08-08 22:14:06
是的,我不確定這是否是完整的產量。看起來裁剪。這並不是最好的例子,因爲在告訴你如何獲得價值觀之前它會停下來,但這是我能找到的最好的例子。 – Codeguy007 2012-08-09 02:54:31