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 ответ

Решение

Я решил это. Проблема была в конструкторе. Класс должен иметь открытый конструктор без параметров.

Другие вопросы по тегам