Objetivo |
Utilizar archivos binarios para guardar objetos | |
Producto a Entregar |
Un archivo comprimido con el programa generado en la actividad y el archivo de texto con las preguntas resueltas. | |
Forma de Trabajo |
Equipos | |
Tiempo estimado |
1 hora | |
Forma de Entrega |
Por Blackboard | |
Recomendaciones |
|
Instrucciones |
|
|---|---|
Paso 1:Además de entregar el archivo con tu laboratorio debes entregar un archivo con las respuestas a las preguntas que aparecen en negritas. Descarga el esqueleto de la aplicación. Abre el proyecto en NetBeans, compílalo y córrelo para verificar que todo funcione correctametne. Deberá aparecer una pantalla similar a la siguiente:
Paso 2:Primero vamos a realizar los cambios necesarios a la clase Person. Recuerda que los cambios que debemos hacer para que una clase pueda ser guardada en archivos binarios es implementar la interfaz Serializable y poner un atributo serialVersionUID. De esta manera la clase Person deberá quedar de la siguiente forma:
Con hacer eso ya le hemos dicho a Java que la clase Person puede ser guardada en archivos binarios.
Paso 3:Ahora es necesario que obtengamos los datos de la persona en la interfaz gráfica y creemos un objeto de tipo Person que es el que vamos a guardar. Una vez que hayas hecho esto (puedes basarte en el laboratorio de archivos de texto) debes mostrar un diálogo en el que preguntes al usuario en dónde quiere guardar el archivo y por último debemos crear un ObjectOutputStream con el que vamos a guardar a la persona como se ve en el siguiente código (tomando en cuenta que la persona que leiste de las cajas de texto se encuentra en el objeto person y que el archivo que seleccionó el usuario se encuentra en el objeto file).
Recuerda que como estamos leyendo archivos de texto es necesario atrapar las excepciones que podrían ocurrir y mostrar mensajes de erorr útiles para el usuario. Para que NetBeans nos ayude con esto puedes seleccionar estas últimas tres líneas, dar click derecho y seleccionar la opción surround with try-catch. Una vez que todo funcione guarda un archivo y después ábrelo en algún editor de texto (como notepad) para ver qué fue guardado.
Paso 4:Ya que guardamos nuestro archivo debemos hacer lo necesario para leer el archivo. De la misma manera que en el laboratorio anterior muestra un diálogo de abrir archivo en el que le pregutnes al usuario qué archivo quiere leer. Una vez que lo tengas debes poner el siguiente código para poder leer un objeto del archivo:
Recuerda que debes utilizar un try-catch para atrapar los errores que puedan ocurrir y mostrar mensajes de error útiles para el usuario. Una vez que hayas leido el objeto recuerda utilizar el método setText() de las cajas de texto para mostrar los atributos que leiste al objeto person en las cajas de texto correspondientes.
Una vez que hayas probado que funcione correctamente guardar un archivo persona.dat con los datos de una persona. Después en el código de la clase Person cambia el campo serialVersionUID al valor 2L y vuelve a correr el programa e intenta abrir un archivo.
Ahora modifica la clase Person para agregar un atributo más lastName de tipo String. Cambia la interfaz gráfica de la siguiente manera y asegúrate de que en el action performed del botón open al abrir la persona se pongan todos los datos incluyendo el apellido.
Guarda otro archivo e intenta leerlo.
Ahora modifica la clase Person para quitar el atributo age. Recuerda quitar los getters y setters y modificar la interfaz gráfica para que no tome en cuenta este atributo.
Guarda otro archivo e intenta leerlo
Comprime tu carpeta de trabajo y mándala por Blackboard junto con el archivo de texto en el que respondiste las preguntas. |
|