Pages: [1]   Go Down
Print
Author Topic: Leggere file di oggetti  (Read 834 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Dhavamba
Apprendista Forumista
**
Offline Offline

Posts: 286


« on: 08-04-2009, 09:09:33 »

Volevo fare un programma che legesse dgli oggetti in un file finchè il file avesse gli oggetti, l'ho risolto ma non mi piace molto la soluzione (ho usato un array per semplificare, ma credo che in questo programma una lista linkata sarebbe più congeniale)

P.S: // questi commenti rappresentano il codice per creare il file dei due oggetti


Code:



import java.io.*;

class Studente implements Serializable{
private String matricola;
private int anno_iscrizione;
private int totale_CFU;
private String stato_iscrizione;
public Studente (String matricola, int anno_iscrizione, int totale_CFU, String stato_iscrizione) {
this.matricola = matricola;
this.anno_iscrizione = anno_iscrizione;
this. totale_CFU = totale_CFU;
this.stato_iscrizione = stato_iscrizione;
    }
public String toString() {
return "Studente matricola "+matricola+", anno di iscrizione "+anno_iscrizione+"; ha "+totale_CFU+" crediti ed è "+stato_iscrizione+".";
}   

}

class Prova_1 {
public static void main(String[] args) throws Exception {
//Studente s1 = new Studente("0123",1989,56,"In corso");
//Studente s2 = new Studente("0122",1987,78,"Ripetente");

//ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream("prova.txt", false));

//out.writeObject(s1);
//out.writeObject(s2);

//out.close();

ObjectInputStream in = new ObjectInputStream(new FileInputStream("prova.txt"));

Studente[] A = new Studente[4];
int i = 0;
try {
while (true) {
A[i] = (Studente)in.readObject();
i++;   } }
catch (EOFException ref) {
in.close();
}
System.out.println(A[1]);
}


}


La cosa che non mi piace del codice è che catturo l'eccezzione EOFException per far capire al while che non esistono più oggetti da leggere (infatti A[0] e A[1] hanno dei valori e A[2] e A[3] riportano null che è giusto teoricamente). La mia domanda non è esiste un'altro metodo anzi di catturare l'eccezzione???
Logged
Dhavamba
Apprendista Forumista
**
Offline Offline

Posts: 286


« Reply #1 on: 10-04-2009, 08:42:50 »

nessuno che mi sappia dare una risposta convincente?
Logged
djjeck
Matricola
*
Offline Offline

Gender: Male
Posts: 89


Ho una donna nuda per avatar. Non c'era di meglio.


WWW
« Reply #2 on: 10-04-2009, 11:31:45 »

la tua risposta convincente si trova in http://forum.sdai.unict.it/index.php?topic=2032.msg16470#msg16470
Logged
Pages: [1]   Go Up
Print
Jump to: