【问题标题】:XMLEncoder dont write file properlyXMLEncoder 无法正确写入文件
【发布时间】: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>

有什么问题?

【问题讨论】:

  • thisjava.beans.XMLDecoder 而不是你想序列化为XML 的java 对象。
  • 请展示一个简短但完整的程序来演示问题...并注意您没有任何 Javascript,所以不要尝试将内容作为 Javascript sn -ps.
  • 具有保存功能的类可能扩展或实现了XMLDecoder
  • 所有程序太大,无法在此处显示。 this - 不实现和扩展任何东西的对象(当然 Object 除外)
  • 你的类是 JavaBean 吗?

标签: java xml xmlencoder


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2020-07-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多