elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  EOFException
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: EOFException  (Leído 2,451 veces)
ezar147

Desconectado Desconectado

Mensajes: 8


Ver Perfil
EOFException
« en: 4 Noviembre 2017, 20:32 pm »

tengo un código que utilizo para leer los datos de un archivo, pero cuando ejecuto me genera un mensaje con el siguiente error: java.io.EOFException. he investigado un poco, y según lo que comprendo es que esta excepción se genera cuando me salgo del final de archivo.

aqui esta el codigo:
Código
  1.    try {
  2.            archivoEntrada = new FileInputStream("prestamos.dat");
  3.            entrada = new  ObjectInputStream(archivoEntrada);
  4.  
  5.            Prestamo aux = (Prestamo) entrada.readObject();
  6.            while(aux != null){
  7.                prestamos.add(aux);
  8.                aux = (Prestamo) entrada.readObject();
  9.            }
  10.        } catch (Exception e) {
  11.            JOptionPane.showMessageDialog(null, e);
  12.        }
  13.        finally{
  14.            try {
  15.                entrada.close();
  16.            } catch (Exception e) {
  17.            }
  18.        }
  19.    }
  20.  


« Última modificación: 4 Noviembre 2017, 20:57 pm por ezar147 » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: EOFException
« Respuesta #1 en: 5 Noviembre 2017, 15:26 pm »

Eso es lo esperado. Cuandos e acaba el stream, tirará esa excepción. Simplemente pon un try-catch dentro para capturar la excepción EOFException. Cuando se lance, sabrás que se ha acabado.

ObjectInputStream no retorna null cuando se acaba el stream.

En vez del while(aux !0 null), puedes poner simplemente un while(true) (rodeado por un try-catch(EOFException))


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cómo puedo resolver el error EOFException ?
Java
miltonprogramador 1 2,472 Último mensaje 2 Enero 2017, 18:58 pm
por ThinkByYourself
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines