08 二月, 2010 23:36
有時候讀寫檔案的動作不見得只是針對文字資料.
因此 .NET Framework 的 BinaryReader 命名空間也提供兩個類別支援二進位資料的讀寫.
這兩的類別 BinaryReader 和 BinaryWriter 可以用來處理二進位資料對資料流的讀寫動作.
以下示範將各種不同類別的資料寫入資料流中.
Dim NewFile As FileStream = File.Create("D:\temp\somefile.bin")
Dim writer As BinaryWriter = New BinaryWriter(NewFile)
Dim number As Long = 100
Dim bytes() As Byte = New Byte(){10,20,50,100}
Dim s As String = "hunger"
writer.Write(number)
writer.Write(bytes)
writer.Write(s)
writer.Close()
如果已經使用過 BinaryWriter 寫入資料, 就可以利用 BinaryReader 以相同的順序取得這些資料.
對每一個 BinaryWriter.Write 或是 WriteLine 方法呼叫, 你都必須呼叫適當的 BinaryReader.Read 方法.
下列程式示範讀取前面範例所寫入的資料 :
Dim NewFile As FileStream = File.Open("d:\temp\somefile.bin", FileMode.Open)
Dim rd As New BinaryReader(NewFile)
Dim number As Long = rd.ReadInt64()
Dim bytes() As Byte = rd.ReadBytes(4)
Dim s As String = rd.ReadString()
rd.Close()
Console.WriteLine(number)
Dim b As Byte
For each b in bytes
Console.Write("[{0}]", b)
Next
Console.WriteLine()
Console.WriteLine(s)
推文( 0 )