Mam taki kawałek kodu:
public static void saveFile(File file) {
try {
XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(file)));
for (Node node : Var.LISTS_NODE.get(0)) {
encoder.writeObject(node);
}
encoder.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex);
}
}
Klasa Node wygląda mniej więcej tak:
public class Node implements Serializable {
public int wartosc;
private BufferedImage bufferedImage;
public Node(int wartosc, Node rodzic) {
this.wartosc = wartosc;
}
public int getWartosc() {
return wartosc;
}
public void setWartosc(int wartosc) {
this.wartosc = wartosc;
}
...
}
W pliku znajduję się tylko to:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_23" class="java.beans.XMLDecoder">
</java>
Linia:
encoder.writeObject();
wykonuje się kilkakrotnie, sprawdzałem przy debugowaniu, obiekt zawiera wartości?
co może być nie tak?