Gå til innhold

Objekt til fil: NotSerializableException


Anbefalte innlegg

Hei.

 

Jeg sliter med å få lagret objektene mine i fil slik at jeg senere kan hente dem fram igjen.

 

Litt kode:

 

private FileOutputStream fos;

private ObjectOutputStream oos;

 

...

 

 

fos = new FileOutputStream("C:\\test.tmp");

oos = new ObjectOutputStream(fos);

 

...

 

public void tilFil() throws Exception

{

for(int i=0; i<list.size(); i++)

{

oos.writeObject(list.get(i));

oos.close();

}

}

 

Som topic sier får jeg en NotSerializableException når jeg prøver å skrive ut objektet.

 

Noen som kan hjelpe meg litt på vei?

 

Takker for svar

:thumbup:

Lenke til kommentar
Videoannonse
Annonse
Gjest Sletet+adslkfjv

heisann

objekte du skal lagre må implementere Serializable

 

ObjectOutputStream oos;
               FileOutputStream fos = new FileOutputStream("C:\\test.tmp");

void tilfil(){
 try {
 oos = new ObjectOutputStream(fos);
 for(int i=0; i<list.size(); i++){
                               oos.writeObject(list.get(i));
                               oos.close();
                              }
} catch (FileNotFoundException e) {
 e.printStackTrace();
} catch (IOException e) {  
 e.printStackTrace();
 }
} catch (IOException e) {
 e.printStackTrace();
 }
}

har ikke prøvd å kompilere koden eller noe, så kan være litt feil inni koden der, men den skal iallefall kunne gi deg en liten pekepinne.

Lenke til kommentar

ok, nå får jeg ikke lenger noen feilmelding når jeg prøver å skrive (sub)klassen til fil.. men...

 

Det skrives rett og lett ikke noe til filen :cry:

 

Problemet er altså at jeg skal lagre tilstanden til et objekt, som ligger i en ArrayList , til fil. Objektet kan være en av to subklasser.

 

public void tilFil()
{
 try
 {
 	for(int i=0; i<list.size(); i++)
 	{
   oos.writeObject(list.get(i));
   oos.close();
 	}
 }catch(FileNotFoundException e){
 	e.printStackTrace();
 }catch(IOException e){
 	e.printStackTrace();
 }
}

 

Superklassen implementerer Serializable..

Setter stor pris på om noen kan hjelpe meg...

Lenke til kommentar
Gjest Sletet+adslkfjv

heisann

 

når du driver med sånt så kan du jo lett lage deg system.out.println tester, f.eks på den lista der,da finner du fort hvor feilen ligger.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...