Hola!!
Estoy ya terminando el curso, y tenemos que hacer un proyecto en Java sobre una gestión de biblioteca, y una de las condiciones es que nos guarde las publicaciones que le hemos dado de alta en un archivo .dat. (que los serialize).
Bueno, pues teniendo ya una clase de publicaciones, y una aplicación gráfica tipo Swing, donde le estoy programando cada botón, hice un módulo de guardar fichero (write.Object) y en el main las leo (read.Object). Tengo también ArrayList donde guardo todas las publicaciones.
El problema que tengo es que no me guarda las publicaciones, así al cerrar el programa, se me pierden, y mientras se está ejecutando, al abrir el fichero "publicaciones.dat", que lo tengo situado en el mismo paquete donde todas las clases del programa, tampoco aparece nada. Así que no se cómo ponerlo correctamente para que los datos no se pierdan y queden grabados. Os dejo esa parte del código para ver si me podéis echar una mano. Y esta vez voy a notificar los avisos vía email para poder ver las respuestas lo más rápido posible
EDITO: Perdon, se me olvidó poner que también me capta este error la excepción:Código:public static ArrayList<Publicaciones> arraypublicaciones = new ArrayList<Publicaciones>(); /* AHORA AQUÍ VIENEN LAS VENTANITAS SWING PARA QUE EL USUARIO PUEDA AÑADIR LAS PUBLICACIONES Y LUEGO LO GUARDA EN EL ARRAY. */ private void guardarFichero(java.awt.event.WindowEvent evt) { try { Publicaciones publicacionesGuardado; try (FileOutputStream fosPublicaciones1 = new FileOutputStream("publicaciones.dat")) { ObjectOutputStream oosPublicaciones1 = new ObjectOutputStream(fosPublicaciones1); for (int i = 0; i < arraypublicaciones.size(); i++) { publicacionesGuardado = arraypublicaciones.get(i); oosPublicaciones1.writeObject(arraypublicaciones); } fosPublicaciones1.close(); } } catch (IOException ioe) { System.out.println(ioe); } catch (Exception e) { System.out.println(e); } } public static void main(String args[]) { try { Publicaciones publicacionesCargado; try (FileInputStream fisPublicaciones1 = new FileInputStream("publicaciones.dat")) { ObjectInputStream oisPublicaciones1 = new ObjectInputStream(fisPublicaciones1); while(!((publicacionesCargado = (Publicaciones) oisPublicaciones1.readObject()) == null)) { arraypublicaciones.add(publicacionesCargado); } fisPublicaciones1.close(); } } catch (IOException ioe) { System.out.println(ioe); } catch (Exception e) { System.out.println(e); } }
Bueno, muchas gracias, y estaré muy pendiente.java.io.FileNotFoundException: publicaciones.dat (El sistema no puede hallar el archivo especificado)
Un saludo,
Vera.




Citar

