ti ringrazio adesso funziona il programmino di prova, però implementando la serializzazione in un programma più complesso questo non funziona...non trovo l'errore, vi posto l'oggetto e il codice che de/seriallizza
Oggetto
codice:
 
package eventapp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.util.ArrayList;


public class Evento implements Serializable{
    private static final long serialVersionUID=1;
    private String titolo;
    private String logo;
    private Sede sede;
    private Programma programma;
    private ArrayList<Organizzatore> organizzatori;
    private Organizzatore myorganizzatore;
    
    BufferedReader bufferRead;
    private String scelta;
    public  Evento setEvento() throws IOException{
        System.out.println("Inserire il titolo del nuovo Evento");
        bufferRead = new BufferedReader(new InputStreamReader(System.in));
        titolo = bufferRead.readLine();
        System.out.println("Inserire il pathfile del logo del nuovo Evento");
        bufferRead = new BufferedReader(new InputStreamReader(System.in));
        logo = bufferRead.readLine();
        
        return this;
    };

    public Evento() throws IOException{
        setEvento();
        sede=new Sede();
        sede.setSede();
        myorganizzatore=new Organizzatore();
        programma=new Programma();
        organizzatori=new ArrayList<Organizzatore>();
        while(!"n".equals(scelta))
        {
            myorganizzatore.setOrganizzatore();
            organizzatori.add(myorganizzatore);
            System.out.println("Inserire un nuovo organizzatore?");
            bufferRead = new BufferedReader(new InputStreamReader(System.in));
            scelta = bufferRead.readLine();
        }
        programma.setProgramma();
        
    }       
}
codice che gestisce la serializzazione
codice:
 
package eventapp;

import java.io.*;
import java.util.ArrayList;

public class ListEventi implements Serializable{
    private final static long serialVersionUID=1L;
    private ObjectInputStream input;
    private ObjectOutputStream output;
    private ArrayList<Evento> ArrayEventi;
    private Evento evento;
    public ListEventi() throws IOException{
        input=null;
        output=null;
        ArrayEventi=new ArrayList<Evento>();        
        
    } 

    public void readFileDat() throws IOException{
        try{
            
            input=new ObjectInputStream(new FileInputStream("dati.dat"));
        }catch(FileNotFoundException e){
            System.out.println("File dati.dat non trovato,Creazione");
            ObjectOutputStream tempOutput=new ObjectOutputStream(new FileOutputStream("dati.dat"));
            
        }catch(IOException ioe){
            System.out.println("Errore di comunicazione 01");
        }
        try{
            
            ArrayEventi=(ArrayList<Evento>)input.readObject();
        }catch(IOException e1){
            System.out.println("Errore comunicazione 02");
        }catch(ClassNotFoundException e1){
            System.out.println("Oggetto non trovato");   
        }
        System.out.println("Lettura Eventi Completata,si controlli eventuali errori");
    }
    public void writeFileDat(){
        try{
            output=new ObjectOutputStream(new FileOutputStream("dati.dat"));
        }catch(FileNotFoundException e){
            System.out.println("File non trovato, o impossibile da scrivere");
        }catch(IOException ioe){
            System.out.println("Errore comunicazione 03");
        }
        try{
            output.writeObject(ArrayEventi);            
        }catch(IOException e1){
            System.out.println("Errore comunicazione 04");
        }
        try{
            output.close();
        }catch(IOException e2){
            System.out.println("Errore comunicazione 05");
        }
        System.out.println("Salvataggio Completato");
    }
    public void addEvento(){
        ArrayEventi.add(evento);
        writeFileDat();
    }
    public void removeEvento(Evento arg){
        int index=ArrayEventi.indexOf(arg);
        ArrayEventi.remove(index);
        writeFileDat();
    }
}
nel Main:
codice:
 
    public static void readDeseriezableObj() throws IOException{
        ListEventi listEventi=new ListEventi();
        listEventi.readFileDat();
    }