|
Indice | Temas Recientes | Quién Está en LÃnea | Lista de Usuarios | Mi Perfil | Búsqueda | Ayuda |
![]() |
mvnForum » Listar todos los foros » Foro: Curso PLJ » Tema: Función readObject en leeFiguras() |
Total de mensajes en este tema: 2 |
[Eliminar este Tema]
[Mover este Tema] [AÅadir a Mis Favoritos] [AÅadir un aviso a este tema] [Publicar nuevo tema] |
Autor |
|
![]() Extranjero
|
Hola a todos, vamos a ver.. En la clase IOFiguras metodo leeFiguras() tenemos el siguiente código while ((f = (Figura)(ois.readObject())) != null) alAux.add(f); Pues bien a mi me da una excepción del tipo IOException debido a que cuando lee el final del fichero NO pone null el objecto f de tipo Figura y claro esta función siempre me devuelve null (salta al catch). He probado quitando el while y leyendo un solo objecto almacenado en el fichero y me lo devuelve bien, (esta bien guardado ok), Alguna ayuda....?? Gracias a todos |
||
|
![]() Miembro
|
Hola. Es una "errata" mÃa. El método "readObject" devuelve siempre el objeto leÃdo, y si llega al final de fichero lanza una excepción. Con lo que para leer objetos complejos de ficheros, tendremos que estar leyendo y guardando en una lista, hasta que salte la excepción: En realidad el bucle deberÃa funcionar, sólo que la comparación con null no llega a cumplirse nunca, se sale del bucle porque salta la excepción. Es equivalente a poner: ArrayList alAux = new ArrayList(); try { while (true) { Figura f = (Figura)(ois.readObject()); alAux.add(f); } } catch (Exception e) {} // Aquà ya tendrÃamos la lista con todos los objetos del fichero |
||
|
[Versión imprimible] [Publicar nuevo tema] |