Hallo,
ich muss mir 2 Listen von Images mitspeichern:
Aber beim Laden (oder schon beim speichern) sind nur die von imagesR vorhanden und dann auch noch wild durcheinander.
So befindet sich ein Bild in der imagesL was früher bei imagesR war.
Und alle anderen sind anscheinend leer.
Wie kann ich mehrere BufferedImages speichern und laden mit einer Serializable Klasse?
Danke!
ich muss mir 2 Listen von Images mitspeichern:
Java:
public transient List<BufferedImage> imagesR = new ArrayList<BufferedImage>();
public transient List<BufferedImage> imagesL = new ArrayList<BufferedImage>();
private void writeObject(ObjectOutputStream out) throws IOException {
System.out.println(imagesR.size());
out.defaultWriteObject();
out.writeInt(imagesR.size());
out.writeInt(imagesL.size());
for (BufferedImage eachImage : imagesR) {
ImageIO.write(eachImage, "png", out);
}
for (BufferedImage eachImage : imagesL) {
ImageIO.write(eachImage, "png", out);
}
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
int imageCountR = in.readInt();
int imageCountL = in.readInt();
System.out.println(imageCountR);
imagesR = new ArrayList<BufferedImage>(imageCountR);
for (int i = 0; i < imageCountR; i++) {
imagesR.add(ImageIO.read(in));
}
System.out.println(imageCountL);
imagesL = new ArrayList<BufferedImage>(imageCountL);
for (int i = 0; i < imageCountL; i++) {
imagesL.add(ImageIO.read(in));
}
}
Aber beim Laden (oder schon beim speichern) sind nur die von imagesR vorhanden und dann auch noch wild durcheinander.
So befindet sich ein Bild in der imagesL was früher bei imagesR war.
Und alle anderen sind anscheinend leer.
Wie kann ich mehrere BufferedImages speichern und laden mit einer Serializable Klasse?
Danke!