VB.Net by API/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter

Материал из VB Эксперт
Перейти к: навигация, поиск

BinaryFormatter.Deserialize

<source lang="vbnet">

Imports System.IO Imports System.Collections Imports System.Windows.Forms Imports System.Runtime.Serialization.Formatters.Binary Imports System.Runtime.Serialization Public Class MainClass

  Public Shared Sub Main()
        Dim formatter As BinaryFormatter = New BinaryFormatter()
        Dim output As FileStream
        Dim fileName As String = "test.dat"
        Dim employee As Employee = New Employee("First Name", "Last Name")
        Try
           output = New FileStream(fileName,FileMode.OpenOrCreate, FileAccess.Write)
 
           formatter.Serialize(output, employee)
           output.Close()
 
        Catch fileException As FileNotFoundException
           Console.WriteLine("File Does Not Exits")
        Catch serializableException As SerializationException
           Console.WriteLine("Error Writing to File")
        Catch formattingException As FormatException
           Console.WriteLine("Invalid Format")
        Catch e As IOException
           Console.WriteLine("Cannot close file")
        End Try
        Dim input As FileStream
        Dim reader As BinaryFormatter = New BinaryFormatter()
        input = New FileStream(fileName, FileMode.Open,FileAccess.Read)
        Try
            Dim em As Employee = CType(reader.Deserialize(input), Employee)
        
            Console.WriteLine(em)
        Catch serializableException As SerializationException
            input.Close() 
            Console.WriteLine("No more records in file")
        End Try
  End Sub

End Class <Serializable()> Public Class Employee

  Private firstName, lastName As String
  Public Sub New(ByVal first As String, ByVal last As String)
     firstName = first
     lastName = last
  End Sub 
  Public Overrides Function ToString() As String
     Return firstName & " " & lastName
  End Function 

End Class


 </source>


BinaryFormatter.Serialize

<source lang="vbnet"> Imports System.IO Imports System.Collections Imports System.Windows.Forms Imports System.Runtime.Serialization.Formatters.Binary Imports System.Runtime.Serialization Public Class MainClass

  Public Shared Sub Main()
        Dim formatter As BinaryFormatter = New BinaryFormatter()
        Dim output As FileStream
        Dim fileName As String = "test.dat"
        Dim employee As Employee = New Employee("First Name", "Last Name")
        Try
           output = New FileStream(fileName,FileMode.OpenOrCreate, FileAccess.Write)
 
           formatter.Serialize(output, employee)
           output.Close()
 
        Catch fileException As FileNotFoundException
           Console.WriteLine("File Does Not Exits")
        Catch serializableException As SerializationException
           Console.WriteLine("Error Writing to File")
        Catch formattingException As FormatException
           Console.WriteLine("Invalid Format")
        Catch e As IOException
           Console.WriteLine("Cannot close file")
        End Try
        Dim input As FileStream
        Dim reader As BinaryFormatter = New BinaryFormatter()
        input = New FileStream(fileName, FileMode.Open,FileAccess.Read)
        Try
            Dim em As Employee = CType(reader.Deserialize(input), Employee)
        
            Console.WriteLine(em)
        Catch serializableException As SerializationException
            input.Close() 
            Console.WriteLine("No more records in file")
        End Try
  End Sub

End Class <Serializable()> Public Class Employee

  Private firstName, lastName As String
  Public Sub New(ByVal first As String, ByVal last As String)
     firstName = first
     lastName = last
  End Sub 
  Public Overrides Function ToString() As String
     Return firstName & " " & lastName
  End Function 

End Class


 </source>