Mega Code Archive

 
Categories / VB.Net Tutorial / Stream File
 

Class binary deserialization

Imports System Imports System.IO Imports System.Runtime.Serialization Imports System.Runtime.Serialization.Formatters.Binary Imports System.Runtime.Serialization.Formatters.Soap Public Class Tester     Public Shared Sub Main              Dim myClsSerializable As New ClsSerializable()         SerializeBinary(myClsSerializable)         Console.WriteLine(FileContent(False))                          Dim myFileStream As FileStream         myFileStream = New FileStream("test.dat", FileMode.Open, FileAccess.Read)         Dim myFormatter As New BinaryFormatter()         myClsSerializable = CType(myFormatter.Deserialize(myFileStream), ClsSerializable)         Console.WriteLine(myClsSerializable.intNumber.ToString)         Console.WriteLine(myClsSerializable.lngNumber.ToString)         Console.WriteLine(myClsSerializable.strDemo)                      End Sub     Private Shared Function FileContent(ByVal blnBinary As Boolean) As String         Dim strContent As String         Dim myStreamReader As StreamReader         Dim myFileStream As FileStream         Dim i As Integer         Try             myFileStream = New FileStream("test.dat", FileMode.Open, FileAccess.Read)             If blnBinary = True Then                 For i = 1 To myFileStream.Length                     strContent += myFileStream.ReadByte.ToString + " "                 Next             Else                 myStreamReader = New StreamReader(myFileStream)                 strContent = myStreamReader.ReadToEnd             End If             myFileStream.Flush()             myFileStream.Close()             Return strContent         Catch ex As IOException             Console.WriteLine(ex.Message)         End Try     End Function     Private Shared Sub SerializeBinary(ByVal myClsSerializable As ClsSerializable)         Dim myFileStream As FileStream = New FileStream("test.dat", FileMode.Create, FileAccess.Write)         Dim myBFormatter As BinaryFormatter = New BinaryFormatter()         myBFormatter.Serialize(myFileStream, myClsSerializable)         myFileStream.Flush()         myFileStream.Close()     End Sub End Class <Serializable()> Public Class ClsSerializable     Public intNumber As Integer = 254     Public strDemo As String = "This is a poublic  test string"     Private strpDemo As String = "This is a private  test string"     <NonSerialized()> Public lngNumber As Long = 123456   End Class