/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
ObjectInputStream mystik
Fra : Michael Rasmussen


Dato : 02-11-06 00:58

Hej NG,

Jeg bliver snart gråhåret Af en eller anden mystiks grund vil
ObjectInputStream.readObject kun indlæse første object fra stream, selvom
man i det medleverede eksempel kalder serialize. Nogen der kan
gennemskue, hvad der går galt i følgende eksempel:

private void serialize() throws FileNotFoundException, IOException {
//if (object == null)
// throw new IOException("Internal storage is corrupted");
FileOutputStream fos = new FileOutputStream(filename, true);
ObjectOutputStream out = new ObjectOutputStream(fos);
String s = "test";
out.writeObject(s);
out.close();
}

private ArrayList<ObjectState> deSerialize()
throws ClassNotFoundException, FileNotFoundException {
FileInputStream fis = new FileInputStream(filename);
ObjectInputStream in = null;
try {
in = new ObjectInputStream(fis);
while (true) {
//list.add((ObjectState) in.readObject());
String s = (String) in.readObject();
System.out.println(s);
}
}
catch (IOException ex) {}
try {
in.close();
File file = new File(filename);
file.deleteOnExit();
}
catch (IOException ex) {}
return list;
}


--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917

 
 
Johnnie Hougaard Nie~ (02-11-2006)
Kommentar
Fra : Johnnie Hougaard Nie~


Dato : 02-11-06 02:06

> catch (IOException ex) {}

Dette er jo en forbrydelse. Jeg har ikke testet, men det kunne være
at der bliver kastet en exception. Det er en skidt ide at kaste dem
i bitspanden.

Michael Rasmussen (02-11-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 02-11-06 02:36

On Thu, 02 Nov 2006 02:06:06 +0100, Johnnie Hougaard Nielsen wrote:


> Dette er jo en forbrydelse. Jeg har ikke testet, men det kunne være at
> der bliver kastet en exception. Det er en skidt ide at kaste dem i
> bitspanden.
Den smider følgende exception efter at have indlæst første objekt:
java.io.StreamCorruptedException
Kaldes getMessage() på instansen returnes: null

Tyder ovenstående ikke på en bug i JVM?

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917

N/A (02-11-2006)
Kommentar
Fra : N/A


Dato : 02-11-06 21:35



Michael Rasmussen (02-11-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 02-11-06 09:37

On Wed, 01 Nov 2006 21:54:05 -0500, Arne Vajhøj wrote:

>
> Nej.
>
Den vil tvinge struktur på en binær fil!? Læs envidere nedenfor.

> Der er noget header (eller trailer antydre min hex dump).
>
Det er header. Hver gang et objekt indsættes, skrives en 3 byte header.
Hvad denne bruges til, står som et mysterium for mig. Binære filer er per
definition filer uden struktur, og bør derfor ikke have andet indhold ind
de rå data. Strukturen for en binær fil definires i logikken.

>
> så bør det virke !
>
Det gør det også Mange tak.

PS. Hvis det har interesse, så skal det anvendes i en generic DAO, så man
til ethvert VO kan extende fra denne, og derved tilføjes VO følgende 3
metoder:
- void marshall()
- Iterator unMarshall()
- void unMarshall(int oid)

Indbygget er en default storage engine, der laver persistens til en binær
fil, men denne kan sættes til at anvende en XML storage engine eller en DB
storage engine. Det hele bygger på heftig brug af reflection API.
Er ovenstående interessant for andre? Det er under GPL licens, så hvis
andre er interesseret, vil jeg lægge det op på http://savannah.gnu.org/

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917

N/A (02-11-2006)
Kommentar
Fra : N/A


Dato : 02-11-06 21:35



Thorbjørn Ravn Ander~ (02-11-2006)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 02-11-06 21:35

Michael Zedeler <michael@zedeler.dk> writes:

> Syntax error in 80

FUT: dk.edb.programmering.visual-basic

Fyyyyyyy!

--
Thorbjørn Ravn Andersen

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste