Buonasera, sto facendo un piccolo programma con l'utilizzo dei file binari.
Nello specifico ho creato una classe Atleta
Voglio che il mio programma crea una lista di atleti e li memorizzi su file binario e poi che questi vengano letti.
Nel main ho quindi creato un ArrayList di atleti che aggiunto tre atleti.
Poi ho aperto uno stream di output e con il metodo writeObject ho scritto su file la lista.
try {
OutputStream = new ObjectOutputStream(new FileOutputStream(nomeFile));
OutputStream.writeObject(ListaAtleti);
OutputStream.close();
} catch (IOException e) {
System.out.println("Errore di apertura del file di output");
}
Successivamente ho aperto uno stream di input per leggere il file.
Ho quindi creato un altro ArrayList vuoto (lista da leggere) e poi con questo metodo ho cercato di leggere da file, ma mi da errore, perchè a quanto pare non trova la classe.
ArrayList<Atleta> listadaLeggere = new ArrayList<Atleta>();
try {
inputStream = new ObjectInputStream(new FileInputStream(nomeFile));
listadaLeggere = (ArrayList<Atleta>)inputStream.readObject();
} catch (FileNotFoundException e) {
System.out.println("FIle");
System.exit(0);
}catch (IOException e) {
System.out.println("Errore file");
}
l'errore si verifica proprio a questa riga:
listadaLeggere = (ArrayList<Atleta>)inputStream.readObject();