Home
VB.NET
BinaryReader Example
Updated Sep 24, 2022
Dot Net Perls
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.
BinaryWriter
File
Type notes. 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.
Example. 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.
Next To use the BinaryReader you want to enclose it in a Using statement, which ensures correct disposal of system resources.
So We acquire the length of the file, then simply loop through every four bytes using a While-loop, calling ReadInt32 each time.
Tip You can see that 12 integers we read from the file. We see these are the same integers that were written there.
Thus The 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 Module
1 4 6 7 11 55 777 23 266 44 82 93
Summary. 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.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Sep 24, 2022 (rewrite).
Home
Changes
© 2007-2025 Sam Allen