En esta ocasión explicaremos detalladamente cómo serializar uno o varios objectos en java.
Primeramente hay que saber qué es serializar. Serializar objetos o datos, significa convertirlos en bytes, de tal manera que es más facil transferir la información desde la Invocación de Métodos Remotos, por ejemplo, o simplemente generar un fichero con los bytes correspondientes a nuestra información, con el fin de crear datos persistentes.
Para poder crear un objeto que tenga la capacidad de ser serializado, es fundamental que a la clase correspondiente le sea implementada la intefaz Serializable; veamos un pequeño ejemplo:
import java.io.Serializable
public class Persona implements Serializable
{
private String nombre;
private String apellidoPaterno;
private String apellidoMaterno;
}
con esta instrucción, cualquier objeto creado a partir de esta clase, podrá ser serializado.
Naturalmente son necesarios los métodos para que nuestro objeto sea convertido en un fichero de bytes; partimos de tres clases importantes para la escritura en disco(en la aplicación), los cuales son:
En esta ocasión crearemos nuestro fichero a la "hardcode", es decir, de manera estática, posteriormente podríamos ver cómo hacerlo dinámico mediante la petición de la ruta al usuario, pero en esta ocasión nos dedicaremos a estudiar la creación del archivo directamente.
Comenzamos con "la receta": Creamos nuestro método wrietObject
public void writeObject(ObjectOutputStream oos, persona p)throws IOException
{
oos.writeObject(persona);
}
En este método le hemos pasado un objeto de tipo ObjectOutputStream, quien es el encargado de darle salida y escribir en un fichero que contiene la información de al persona a guardar.
Ahora, procedemos a hacer "la inversa" al método anterior, ocupando 3 clases para la lectura de ficheros serializados (en la aplicación):
public Persona readObject(ObjectInputStream ois)throws IOException, ClassNotFoundException
{
Persona p= (Persona) oos.readObject();
return p;
}
En este último método se asume que la clase Persona tiene los típicos métodos viejos de java, los "setters" y los "getters", por lo que se crea una persona a partir de lo que se leyó del fichero. En el archivo de ejemplo viene más amplia la explicación de cada uno de los métodos utilizados, adem´s de que en la clase aplicación comprender´s de manera sencilla el uso de los métodos writeObject y readObject
Con ésto podemos crear nuestro objeto serializado, espero que haya sido lo suficientemente claro, si no es así, siéntete libre de enviarnos tu comentario o sugerencia a j.akexus@gmail.com
Descargar archivos de ejemplo aquí
0 comentarios:
Publicar un comentario