Avatar billede tendal Nybegynder
28. september 2004 - 20:50 Der er 15 kommentarer og
1 løsning

Problem med at gemme Arrayliste

HEj Eksperter
Jeg vil gerne gemme en arrayliste til en fil men ryger hele tiden i catch blokken - hjælp

public void saveKampe()
    {
        try
        {
                ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("C:\\kampefil.txt"));
                out.writeObject(kampeArray);
                out.close();
        }
        catch (IOException e) { 
          JOptionPane.showMessageDialog
          (null, "Save : Fejl med filen ",
          "Fejl", JOptionPane.ERROR_MESSAGE); 
        };
    }
Avatar billede arne_v Ekspert
28. september 2004 - 20:53 #1
Er de objekter du udskriver serializable ?
Avatar billede martinbk Nybegynder
28. september 2004 - 20:53 #2
er du sikker på objektet er serializable ?
Avatar billede arne_v Ekspert
28. september 2004 - 20:54 #3
Prøv evt.:

JOptionPane.showMessageDialog
          (null, "Save : Fejl med filen " + e,
          "Fejl", JOptionPane.ERROR_MESSAGE); 

for at se hvilken fejl du får !
Avatar billede martinbk Nybegynder
28. september 2004 - 20:54 #4
argh arne, igen er du for hurtig, hmm svar knappen skulle jeg vist ikke have trykket på :-)
Avatar billede arne_v Ekspert
28. september 2004 - 20:55 #5
ArrayList er serializable.

Men objekterne inden i skal også være det.

De skal implementere interfacet java.io.Serializable, de skal have en constructor
uden argumenter.
Avatar billede martinbk Nybegynder
28. september 2004 - 20:59 #6
<citat>ArrayList er serializable.

Men objekterne inden i skal også være det.</citat>


igen kan jeg lære at udtrykke mig klart, jeg mente faktisk hvad du skrev :)
Avatar billede tendal Nybegynder
28. september 2004 - 21:32 #7
Selvfølgelig - det viste jeg jo også godt - men hvem skal have point, det er vel arne_v, men jeg skal lige have et svar
Avatar billede arne_v Ekspert
28. september 2004 - 21:33 #8
kommer her
Avatar billede arne_v Ekspert
28. september 2004 - 21:33 #9
Har du fået det til at virke ?
Avatar billede tendal Nybegynder
29. september 2004 - 08:21 #10
Ja jeg har fået det til atvirke - det er selvfølgelig fordi de elementer der ligger i arrayet skal være Serializable, og det var de ikke - havde glemt alt om dette :o). så tak for den hurtige hjælp
Avatar billede tendal Nybegynder
29. september 2004 - 09:11 #11
Nåh ja det er klart - nu kan jeg selvfølgelig ikke få loadKampe til at virke - igen ryger jeg hele tiden i catch blokken - hjælp
public void loadKampe()
    {
      ArrayList tempArray;
        try
        {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream("C:\\kampefil"));
            tempArray = (ArrayList) in.readObject();
   
            for (int i=0;i<tempArray.size();i++)
            {
                kampeArray.add(tempArray.get(i));
            }
            in.close();
        }
        catch (Exception e) { 
          JOptionPane.showMessageDialog
          (null, "Load : Fejl med filen ",
          "Fejl", JOptionPane.ERROR_MESSAGE); 
        };
    }
Avatar billede arne_v Ekspert
29. september 2004 - 09:49 #12
catch (Exception e) { 
          JOptionPane.showMessageDialog
          (null, "Load : Fejl med filen : " + e,
          "Fejl", JOptionPane.ERROR_MESSAGE); 
        };
    }

så kan du hvad fejl teksten er !
Avatar billede arne_v Ekspert
29. september 2004 - 09:50 #13
Er de klasser som instanserne i ArrayList'en er af i classpath for læse programmet ?
Avatar billede tendal Nybegynder
29. september 2004 - 15:19 #14
Jeg har lidt svært ved at forstå det men da jeg indsatte den catch blok du "lavede" så virkede det fint - har ikke fået fejl siden i hvert fald - men det sidste du skriver forstår jeg ikke helt
Avatar billede arne_v Ekspert
29. september 2004 - 15:25 #15
Hvis det er 2 forskellige programmer som skriver og læser filen, så skal
de klasser der gemms i array listen også kendes af programmet der læser.
Avatar billede tendal Nybegynder
29. september 2004 - 15:58 #16
Nåh ok - men nej det er det ikke - det er det samme program der både læser og skriver
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