VB.Net by API/System.IO/FileAccess

Материал из VB Эксперт
Версия от 12:50, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

FileAccess.Read

  
Imports System
Imports System.IO
Public Class MainClass
  Shared Sub Main()
    Dim i As Integer
    Dim theBytes(255) As Byte
    For i = 0 To 255
      theBytes(i) = CByte(i)
    Next
    Dim myFileStream As FileStream
    Try
      myFileStream = New FileStream("test.txt", FileMode.OpenOrCreate, FileAccess.Write)
      myFileStream.Write(theBytes, 0, 256)
    Finally
      If Not (myFileStream Is Nothing) Then myFileStream.Close()
    End Try

    Dim theFile As FileStream
    Try
      theFile = New FileStream("test.txt",FileMode.Open, FileAccess.Read)
      For i = 0 To (theFile.Length - 1)
        Console.Write(theFile.ReadByte)
      Next
    Catch e As Exception
      Throw e
    Finally
      If Not (theFile Is Nothing) Then theFile.Close()
    End Try
  End Sub
  
End Class


FileAccess.Write

  
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