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

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

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