Serializar y Desearializar objetos

Un tema mportante es SERIALIZAR:  se trata de convertir un objeto en flujo de bytes susceptible de ser guardados. Por tanto, DESERIALIZAR será convertir el flujo de datos en objeto de la clase.

Curiosidad: el sistema de archivo directo sólo funciona en el Visual 2010. Serializar funciona en 2008 y 2010.

 

Podemos ver más en: http://msdn.microsoft.com/es-es/library/aa984468(v=vs.71).aspx

 

Otro link interesante (un poco más detallado) es el siguiente: http://web1.taringa.net/posts/info/4250633.R/Serializacion-de-objetos-_Programacion_.html

 

Creamos una clase Persona en un módulo, como otras veces.

Aquí vamos a importar al principio del formulario. Vemos cómo serializar y deserializar:

 

Imports System.IO

Imports System.Runtime.Serialization.Formatters.Binary

 

Public Class Form1

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim p As New Persona("Pepe", 30)

        Dim p2 As New Persona("Juan", 23)

        Dim p3 As New Persona("Luis", 34)

        'Crea un archivo y lo asocia a Archivo.

        Dim Archivo As Stream = File.Create("C:\ARCHIVOS\Data1.dat") 'Con Create reescribirá encima del archivo.

        Dim Serializador As New BinaryFormatter()    'Creamos el serializador.

        'Gracias al serializador guardaremos el objeto en el archivo.

        Serializador.Serialize(Archivo, p)

        Serializador.Serialize(Archivo, p2)

        Serializador.Serialize(Archivo, p3)

        'Cerramos el flujo asociado al archivo.

 

        Archivo.Close()

        Archivo.Dispose()

    End Sub

 

 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        'Ahora vamos a DESERIALIZAR.

        'Creamos un flujo y lo asociamos a Data.dat

 

        Dim Archivo As Stream = File.OpenRead("C:\ARCHIVOS\Data1.dat") 'Con Create reescribirá encima del archivo.

        Dim Deserializador As New BinaryFormatter()    'Creamos el deserializador.

        'Declaramos un objeto del tipo Persona.

        Dim p As Persona

        'Leemos p a través del deserializador y lo convertimos en tipo Persona.

        p = CType(Deserializador.Deserialize(Archivo), Persona)

        'Mostramos los datos de p.

        MsgBox("Nombre: " + p.Nombre + " ; Edad: " + CStr(p.Edad))

 

        Archivo.Close()

        Archivo.Dispose()

    End Sub

End Class

 

Comentarios

No siempre trabajamos con Bases de Datos, y es importante poder guardar y trabajar con archivos de texto


Añadir un Comentario:



Inserta aquí el código de verificación que ves en la imagen.

Acerca de paiou2011

Blog de aula

Suscríbete

RSS | Atom

Contacto

Contactar

Albergado en:blogspot.es

Noticias: Noticias