2015-11-27 33 views
1

我应该写对象到XML文件XMLEncoder不写文件正确

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> 

可错了呢?

+0

猜'this'是'java.beans.XMLDecoder'而不是你想要序列化为XML的java对象。 – BetaRide

+2

请显示一个简短的*完整*程序来展示问题......并注意您没有任何Javascript,因此不要尝试将其作为Javascript代码片段。 –

+0

具有保存功能的类可能会扩展或实现XMLDecoder – cristianhh

回答

0

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