Ciao a tutti!
Devo memorizzare in un file il contenuto di un programma che gestisce i libretti universitari.Premetto che il programma funziona benissimo da console,ora manca l'ultimo passo cioè la serializzazione.
Ho 4 classi:Esame,Libretto,Collezione ed infine il main.

Come ho detto in un altro post,Collezione è formata da un arraylist di libretti CHE A SUA VOLTA,è formato da un arraylist di esami.
Non sapendo bene usare la serializzazione,il programma mi lancia delle eccezioni

Nel main ho fatto cosi:import java.util.*;


codice:
import java.io.*;
public class Test {
	public static void main (String[]args) throws IOException,ClassNotFoundException
	{ 
		Scanner in = new Scanner(System.in);
		Collezione col;
		File f = new File("dati.dat");
		if (f.exists()){
			ObjectInputStream input = new ObjectInputStream(new FileInputStream(f));
			col = (Collezione) input.readObject();
			input.close();
		}
		else {
			col = new Collezione();
		}
e poi viene tutto quanto il malloppo di codice che si conclude con:
codice:
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(f));
		output.writeObject(col);
		output.close();
Non so se ho fatto bene,ma le classi Collezione e Libretto le ho rese Serializable.Per far ciò nell'enunciato della classe ho scritto:
public class Libretto implements Serializable
public class Collezione implements Serializable

L'eccezione che il programma mi lancia è la seguente:
codice:
Exception in thread "main" java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: Collezione
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at Test.main(Test.java:11)
Caused by: java.io.NotSerializableException: Collezione
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
	at Test.main(Test.java:325)