【发布时间】:2015-11-27 11:24:43
【问题描述】:
我有一个方法应该将对象写入 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>
有什么问题?
【问题讨论】:
-
猜
this是java.beans.XMLDecoder而不是你想序列化为XML 的java 对象。 -
请展示一个简短但完整的程序来演示问题...并注意您没有任何 Javascript,所以不要尝试将内容作为 Javascript sn -ps.
-
具有保存功能的类可能扩展或实现了XMLDecoder
-
所有程序太大,无法在此处显示。 this - 不实现和扩展任何东西的对象(当然 Object 除外)
-
你的类是 JavaBean 吗?
标签: java xml xmlencoder