Como serializar y deserializar ArrayList en Java

Muchas veces queremos guardar nuestros ArrayList dentro de un dispositivo no volátil. Como podría ser dentro del directorio, o en otra localización del disco duro, para ello usamos la serialización. La serialización consiste en guardar nuestro arrayList en un archivo binario dentro del disco duro. La proceso anterior a obtener datos de un archivo y pasarlo al programa se llama deserizalizar.

Para hacer esto primero necesitamos una clase objeto e implementar serialize:

public class Objeto implements Serializable{
                 String str; Objeto(String str) {
     this.str=str; }
 }

Creamos nuestros objetos y lo añadimos a ArrayList:

    ArrayList<Objeto> objList = new ArrayList();
     Objeto objeto1 = new Objeto("str");
     Objeto objeto2 = new Objeto("str2");
     Objeto objeto3 = new Objeto("str3");
     Objeto objeto4 = new Objeto("str4");
     objList.add(objeto1);
     objList.add(objeto2);
     objList.add(objeto3);
     objList.add(objeto4);

Lo guardado en un fichero.txt de la siguiente forma:

try {
             OutputStream file = new FileOutputStream("fichero.txt");
             OutputStream buffer = new BufferedOutputStream(file);
             ObjectOutput output = new ObjectOutputStream(buffer);
       output.writeObject(objList);
      output.close();
      buffer.close();
     } catch (Exception ex) {
         System.out.println("Error "+ex.getMessage());     }

Lo leemos en un fichero.txt de la siguiente forma:

try {
             InputStream file = new FileInputStream("fichero.txt");
             InputStream buffer = new BufferedInputStream(file);
             ObjectInput input = new ObjectInputStream(buffer);
       objList = (ArrayList) input.readObject();
} catch (Exception ex) {
         System.out.println("Error "+ex.getMessage());
     }

Pues hasta aquí mis apuntes de hoy, espero que hayan aprendido algo y haya sido entretenido. Sin más me despido, un saludo y hasta la próxima, chao

Deja un comentario

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.