Java serialize object
24 Feb
Unas de las principales cosas a las cuales le tuve que echar un ojo cuando me decidi aprender java fue a la serializacion de objetos (dicese de guardar las propiedades de un objeto o clase en un archivo de texto o inclusive en una base de datos, o por lo menos asi me lo definieron a mi).
Vamos a empezar a escribiendo una clase super sencilla como la siguiente
//aqui empieza la clase, copiar desde aqui
import java.io.*; //importante para poder implementar la interfaz Serializable (busquen implements en java)
public class Usuario implements Serializable{ //con este implements le decimos a java que esta clase es serializable
public String nombres,apellidos;
public Usuario() {
//constructor vacio no hace nada
}
} //aqui termina la clase, copiar hasta aqui
Una vez que tenemos nuestra clase escrita ahora el siguiente paso es serializarla , para esto vamos a escribir otra clase que contiene el main del programa y que va a serializar y deserializar (creo que se dice asi) nuestro objecto o clase.
//aqui empieza la clase
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException { //cuando serializamos se lanzan estas excepciones
Usuario user = new Usuario(); //la clase que creamos mas arriba
user.nombres = “Dranes”;
user.apellidos = “Ragiac”;
FileOutputStream fo = new FileOutputStream(“datos.obj”); //el archivo donde queremos guardar el estado del objeto
ObjectOutputStream oo = new ObjectOutputStream(fo); //otro objeto que necesitamos instanciar para la serializacion
oo.writeObject(user); //aqui ocurre la serializacion de la clase Usuario
oo.close();
System.out.println(“Ready”);
FileInputStream fi = new FileInputStream(“datos.obj”); //donde esta guardado nuestro objeto serializado
ObjectInputStream oi = new ObjectInputStream(fi); //objeto que instanciamos para deserializar
Usuario newUser = (Usuario)oi.readObject(); //aqui ocurre realmente la deserializacion del objeto fijense en el cast que hay que hacer (Usuario)
System.out.println(newUser.nombres); //probamos que de verdad nuestro objeto tenga lo ultimo que guardamos en el
oi.close(); //cerramos =)
}
} // aqui termina la clase, copiar hasta aqui
Bueno eso es todo, hay muchas cosas que realmente no se explican como yo las puse arriba pero es una forma de resumir jaja.
