Dipende da quale delle tre possibilità intendi utilizzare
Se scegli la prima non hai condizioni del while, ma utilizzi un try/catch per uscire:
codice:
try {
while( true ) {
... // Leggi
}
} catch (EOFException eof) {
// Non ci sono più oggetti nel file
}
Se scegli il secondo non avrai più bisogno del while, ma utilizzerai un ciclo for:
codice:
Integer quanti = (Integer) leggi.readObject();
for(int i=0; i<quanti.intValue(); i++) {
// leggi gli altri oggetti
}
Se scegli la terza, la condizione sarà nell'if interna al while:
codice:
boolean esco = false;
while( !esco ) {
Object obj = (Object) leggi.readObject();
if (obj instanceof TuoOggettoMarcatore) {
esco = true;
} else {
// E' un oggetto Libretto.
}
}
Ciao.