Beste mensen,
Ik heb 2 transient images die ik mee wil opslaan met de rest. Hiervoor heb ik de volgende functie geschreven (naar voorbeeld via google gevonden):
Dit lijkt allemaal goed te werken.
Bij het lezen krijg ik echter een OptionalDataException (EOF = true)
De leesfunctie: (Komt NIET bij de "Dimension1 gelezen" comment)
Ziet hier iemand wat ik fout doe, ik kijk mij er al helemaal scheel op.
Alvast heel erg bedankt,
Joost Pastoor
Ik heb 2 transient images die ik mee wil opslaan met de rest. Hiervoor heb ik de volgende functie geschreven (naar voorbeeld via google gevonden):
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| private void writeObject(ObjectOutputStream stream) throws java.io.IOException { stream.defaultWriteObject(); // write non-transient, non-static data PixelGrabber grabber_visLinks = new PixelGrabber(view.imageLoader.imLinks, 0,0, -1, -1, true); PixelGrabber grabber_visRechts = new PixelGrabber(view.imageLoader.imRechts, 0,0, -1, -1, true); try { grabber_visLinks.grabPixels(); grabber_visRechts.grabPixels(); } catch (InterruptedException e) { } Object pix_visLinks = grabber_visLinks.getPixels(); Object pix_visRechts = grabber_visRechts.getPixels(); Dimension dim_visLinks = new Dimension(view.imageLoader.imLinks.getWidth(this), view.imageLoader.imLinks.getHeight(this)); Dimension dim_visRechts = new Dimension(view.imageLoader.imRechts.getWidth(this), view.imageLoader.imRechts.getHeight(this)); stream.writeObject(dim_visLinks); stream.writeObject(pix_visLinks); stream.writeObject(dim_visRechts); stream.writeObject(pix_visRechts); } |
Dit lijkt allemaal goed te werken.
Bij het lezen krijg ik echter een OptionalDataException (EOF = true)
De leesfunctie: (Komt NIET bij de "Dimension1 gelezen" comment)
Java:
1
2
3
4
5
6
7
8
9
10
11
| private void readObject(ObjectInputStream stream) throws java.io.IOException { try { stream.defaultReadObject(); // read non-transient, non-static data System.out.println("Standard data gelezen"); Dimension dim_visLinks = (Dimension)stream.readObject(); System.out.println("Dimension1 gelezen"); Object img_visLinks = (Image)stream.readObject(); Dimension dim_visRechts = (Dimension)stream.readObject(); Object img_visRechts = (Image)stream.readObject(); .... } |
Ziet hier iemand wat ik fout doe, ik kijk mij er al helemaal scheel op.
Alvast heel erg bedankt,
Joost Pastoor