zapis listy klas do pliku

0

czy da sie jakos od razu zapisac cala liste klas do pliku:
private ArrayList<klasa> lista= new ArrayList<klasa>();
gdzie lista jest wypelniona paroma danymi.
gdy uzywam ponizszego sposobu dochodzi do writeobject a potem pojawia sie error na wyjsciu tzn. System.out.println("Error!");

try {
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("file.txt"));

        out.writeObject(lista);
        
        out.close();
}
catch(IOException ioe)
{
        System.out.println("Error!");
}
}  
0

Żeby coś zapisać musi być to serializowane, innymi słowy implementować interfejs Serializable. ArrayList jest serializowany, ale czy twoje obiekty też są?

0

nie sa. Jak to sie robi?

0

Bardzo prosto
class Klasa impelements Serializable{

}
I to wszystko poniewaz interfejs ten nie zawiera zadnych metod ktore musimy zaimplementowac

0

jaki static final serialversionUID powinienem zadeklarowac?

0

Dowolną liczbę long

0

zaserializowalem klase, dostaje blad:

java.io.NotSerializableException: com.sun.j3d.utils.geometry.Sphere

w klasie mam jeden obiekt typu sphere, jak rozwiazac ten problem?

0

Jeśli klasa com.sun.j3d.utils.geometry.Sphere nie jest final, to tak:

public class MySphere extends Sphere implements Serializable
{
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1