2

オブジェクトを XML ファイルに書き込むメソッドがあります

public void save(OutputStream os) {
    XMLEncoder e = new XMLEncoder(new BufferedOutputStream(os));
    e.writeObject(this);
    e.flush();
    e.close();
}

このクラスには 4 つのフィールドがあります

final static public String EOL = System.getProperty("line.separator");
final public static String DEF_FILE_NAME = "security.conf";
private Map<String, String> users = new HashMap<>();
private String logKey;

と多くの方法がありますが、そのうちの 1 つを上にsave(OutputStream os)示します。

しかし、XMLEncoder はこれだけを書きます

<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0_80" class="java.beans.XMLDecoder">
</java>

何が間違っている可能性がありますか?

4

1 に答える 1

3

私はそれを解決しました。問題はコンストラクターにありました。クラスには、パラメーターのないパブリック コンストラクターが必要です。

于 2015-11-27T11:50:00.550 に答える