PDF download Descargar el PDF PDF download Descargar el PDF

Cuando serializas un objeto en Java, lo que haces es convertir los datos en flujos de bytes que luego se convertirán nuevamente en una copia de los datos originales. Si esto suena algo confuso, piensa en la serialización en los siguientes términos. Supongamos que estás trabajando en un documento y lo guardas en tu disco duro. Lo que estarías haciendo, por así decirlo, sería serializar los datos de forma tal que puedas obtener una copia más tarde. La serialización hace que la transferencia de datos en la red sea mucho más fácil y más eficiente. Es importante que entiendas lo esencial de Java antes de serializar un objeto. Si has utilizado lenguajes como Pascal y las versiones más antiguas de C, sabrás que sin serialización, el programador debe crear un archivo de E/S de texto aparte, para poder almacenar y cargar datos. La serialización de objetos en Java evita tener que crear este archivo de texto para almacenar los datos, y ahorrar tiempo así como también costos de programación. El siguiente artículo contiene los pasos para serializar un objeto en Java. El código de ejemplo que aparece en este artículo es cortesía de The Java Developers Almanac 1.4.

  1. En este ejemplo, llamaremos a este objeto “MyObject”.
  2. Simplemente tienes que agregar la siguiente línea de código al principio del código, reemplazando la línea "public class MyObject”. public class MyObject implements java.io.Serializable.public class MyObject implements java.io.Serializable
    • try{
      // Serializar un objeto de datos a un archivo
      ObjectOutputStream out = new ObjectOutputStream(new
      FileOutputStream("MyObject.ser"));
      out.writeObject(object);
      out.close();
      // Serializar un objeto de datos a un arreglo de bytes
      ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
      out = new ObjectOutputStream(bos) ;
      out.writeObject(object);
      out.close();
      // Obtener los bytes del objeto serializado
      byte[] buf = bos.toByteArray();
      } catch (IOException e) {
      }
  3. Ejecuta el código del objeto serializado en un programa de Java para asegurarte de que funciona en forma efectiva (opcional).
  4. 7
    Guarda el objeto serializado en Java y ciérralo.
    Anuncio

Consejos

  • Para mejorar los tiempos de lectura y escritura en árboles de objetos grandes, utiliza la palabra clave “transient” para instanciar variables que no requieran serialización. Esto mejorará el rendimiento debido a que ya no leerás ni escribirás más datos innecesarios en el proceso de serialización.
  • Las mejoras respecto a la serialización en Java SE Development Kit 6 te permiten utilizar el método de ObjectStreamClass lookupAny para manipular cualquier objeto de clases no serializables.
Anuncio

Advertencias

  • Java suele lanzar una nueva versión de su Develpment Kit casi todos los años. Las nuevas versiones incluyen actualizaciones y cambios respecto a las formas en las cuales puedes serializar un Objeto en Java. Por lo tanto, es importante observar los cambios en la versión que estás utilizando.
  • Cuando serializas objetos, no puedes encriptar los flujos de datos. Consecuentemente, necesitarás apoyarte en otras aplicaciones o procesos de transporte de red secundarios para proteger los datos, si es necesario.
  • Actualmente no hay ninguna opción que te permita escribir objetos en archivos de acceso aleatorio. En vez de eso, puedes utilizar flujos de entrada y salida de Byte Array como un posible lugar para leer y escribir objetos. No obstante, debes asegurarte de que el objeto completo se encuentre en el flujo del Byte Array, si no fallará el proceso.
Anuncio

Acerca de este wikiHow

Esta página ha recibido 26 717 visitas.

¿Te ayudó este artículo?

Anuncio