XMLEncoder 不正确写入文件
XMLEncoder dont write file properly
我有一个方法可以将对象写入 XML 文件
public void save(OutputStream os) {
XMLEncoder e = new XMLEncoder(new BufferedOutputStream(os));
e.writeObject(this);
e.flush();
e.close();
}
这个class有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)
。
但是XML编码器只写这个
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0_80" class="java.beans.XMLDecoder">
</java>
有什么问题吗?
我已经解决了。问题出在构造函数中。 Class 必须有 public 不带参数的构造函数。
我有一个方法可以将对象写入 XML 文件
public void save(OutputStream os) {
XMLEncoder e = new XMLEncoder(new BufferedOutputStream(os));
e.writeObject(this);
e.flush();
e.close();
}
这个class有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)
。
但是XML编码器只写这个
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0_80" class="java.beans.XMLDecoder">
</java>
有什么问题吗?
我已经解决了。问题出在构造函数中。 Class 必须有 public 不带参数的构造函数。