Buenas, a continuación muestro un codigo para leer objectos de un fichero de text. No entiendo este while, si es while(true) no sería un lazo infinito que no se pararia nunca? porque ois.readObject digamos que avanza solo y lee todos los objetos que hay en ois si se ejecuta una y otra vez ois.readObject? Gracias y un saludo.
A mi entender creo que el lazo se para porque se lanza una excepción cuando ois.readObject lee todos los objetos y le toca leer uno vacio, pero sigo sin saber porque ois.readObject avanza y lee todos los objetos presentes en ois y no solo el primero. UN saludo
public ArrayList getLectura() throws ClassNotFoundException, IOException,NullPointerException{
listadenombres.clear();
ObjectInputStream ois=null;
try{
File f = new File("datos");
FileInputStream fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
while(true){
listadenombres.add(ois.readObject());
}
}
catch(IOException io){
}
finally{
ois.close();
return listadenombres;}
}