XMLEncoder不能正确写入文件

时间:2015-11-27 11:24:43

标签: java xml xmlencoder

我有一个方法应该将对象写入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;

和许多方法,其中一种方法是上面提到的save(OutputStream os)

但是XMLEncoder只写这个

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

有什么不对?

1 个答案:

答案 0 :(得分:1)

我已经解决了。问题出在构造函数中。类必须具有不带参数的公共构造函数。