Avatar billede duckman Nybegynder
12. december 2003 - 16:32 Der er 4 kommentarer og
1 løsning

IOException under skrivning til fil

Hej.
Jeg har en Kontrol klasse, som indeholder de dynamiske data som jeg gerne vil kunne skrive til en fil.
jeg forestiller mig at jeg bare kan gemme Kontrol klassen, også hente den ind når jeg starter programmet næste gang, også virker det. Det er vel muligt ?
(har ikke brug for detaljer om hvordan det virker, tror jeg har styr på den del...)

min gemKontrol metode ser sådan ud :
public static void gemKontrol(Kontrol kontrol, String destination)
{
try
{
  FileOutputStream fos = new FileOutputStream(destination);
  ObjectOutputStream oos = new ObjectOutputStream(fos);
  oos.writeObject(kontrol);
  oos.close();
  fos.close();
}
  catch(FileNotFoundException exception)
{
  JOptionPane.showMessageDialog(null, "Filen blev ikke fundet!");
}
catch(IOException exception)
  {
  JOptionPane.showMessageDialog(null, "Der opstod en IOException under skrivning til disken!");
  }
}

mit problem er at under skrivning til filen, opstår der en IOException og jeg får den MessageDialog som jeg har angivet.
jeg har forsøgt med forskellige variationer af destination, f.eks "c:\\gemtKontrol.dlf" og "gemtKontrol.dlf"

er der nogen der har ideer til hvad jeg gør galt ?
jeg har tidligere skrevet og hentet en ArrayList til disken, og det virkede fint.
det skal lige siges at alle objekter der gemmes implementerer Serializable.

mvh. Anders Jakobsen
Avatar billede arne_v Ekspert
12. december 2003 - 16:35 #1
Prøv og udskriv den IOException - fejl teksten fortæller ofte hvad der er galt.
Avatar billede arne_v Ekspert
12. december 2003 - 16:37 #2
Objekterne og alle de objekter de indholder skal implementere Serializable
og have en constructor uden argumenter.

referancer til vinduer, åbne filer og åbne sockets kan selvfølgelig
ikke gemmes.
Avatar billede duckman Nybegynder
12. december 2003 - 16:49 #3
aah, jeg har fanget fejlen nu.
alle objekterne implementerede Serializable, problemet var bare at jeg havde overset en package, som ikke implementerede Serializable.

Mange tak, utroligt at man kan spilde så lang tid på så lille en fejl...
Avatar billede duckman Nybegynder
12. december 2003 - 16:50 #4
du må lige oprette et svar, så du kan få dine point ;)

mvh. Anders Jakobsen
Avatar billede arne_v Ekspert
12. december 2003 - 16:58 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester