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

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

BinaryFormatter.Deserialize

  

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


BinaryFormatter.Serialize

  
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