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 che gestisce la serializzazionecodice: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(); } }
nel Main: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(); } }
codice:public static void readDeseriezableObj() throws IOException{ ListEventi listEventi=new ListEventi(); listEventi.readFileDat(); }

Rispondi quotando