1

java.util.prefs.Preferencesを使用してアプリケーションの参照を作成していますが、何らかの理由でxmlファイルから設定を読み込めないようです。ファイルが見つからないというエラーが表示されないため、ファイルを読み込んでいます。ファイルを解析していないようです。誰かが私が間違っていることを教えてもらえますか?

明確化はい、ファイルがロードされています。行'root.exportSubtree(System.out)'は、XML全体を出力しています。しかし、私がそれをとった例では、ルート'user'のサブルートのみが表示されていました。それは私の問題へのヒントかもしれませんが、私はまだそれを解決していません。

私の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>

助けてくれてありがとう。

4

1 に答える 1