BinaryReader
This reads in a binary file. We read in each integer, byte
, string
or other value from a binary file. This type allows us to encode our data in the most efficient way.
The BinaryReader
can read many kinds of data from a file. It handles Strings, with ReadString
. It handles many numeric types, not just Integers. These include Double
and Long.
First, the example opens a file called "file.bin" which is in the current directory. If you have no file there, you can create one with the BinaryWriter
type, also found in System.IO
.
BinaryReader
you want to enclose it in a Using statement, which ensures correct disposal of system resources.While
-loop, calling ReadInt32
each time.BinaryWriter
and BinaryReader
types are used together for perfect compatibility.Imports System.IO Module Module1 Sub Main() ' Create the reader in a Using statement. ' ... Use File.Open to open the existing binary file. Using reader As New BinaryReader(File.Open("file.bin", FileMode.Open)) ' Loop through length of file. Dim pos As Integer = 0 Dim length As Integer = reader.BaseStream.Length While pos < length ' Read the integer. Dim value As Integer = reader.ReadInt32() ' Write to screen. Console.WriteLine(value) ' Add length of integer in bytes to position. pos += 4 End While End Using End Sub End Module1 4 6 7 11 55 777 23 266 44 82 93
The BinaryReader
type is exceedingly useful. It loads binary data in specific file formats into a VB.NET program. Because it is based on streams, it uses somewhat less memory as well.