O'Reilly logo

Object-Oriented Programming with Visual Basic .NET by J.P. Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

8.2. Readers and Writers

Although reading and writing directly to a stream is possible, working with an array of bytes can be difficult if the data in question is composed of integers, longs, doubles, or other primitive data types—or objects, for that matter. Fortunately, there are classes available (in System.IO) whose sole purpose is to assist in reading and writing data to streams.

BinaryReader and BinaryWriter read and write primitive data types from a stream. There are also several readers and writers designed for character-based input and output, as opposed to "raw" bytes. These classes are derived from TextReader and TextWriter. Specifically, they are called StringReader/Writer and StreamReader/Writer.

8.2.1. BinaryReader and BinaryWriter

In Example 8-3, a file stream creates a stream to a file called data.bin. The stream instance constructs a BinaryWriter, which allows primitive data types to be written to the store.

Example 8-3. Using BinaryWriter
Imports System Imports System.IO Public Class StreamTest2 Public Sub New( ) Dim stream As New FileStream("data.bin", _ FileMode.Create, _ FileAccess.ReadWrite) Dim writer As New BinaryWriter(stream) Dim b As Byte = 1 Dim i As Integer = 2 Dim l As Long = 3 Dim d As Double = 3.1459 Dim s As String = "It's easy as ABC" writer.Write(b) writer.Write(i) writer.Write(l) writer.Write(d) writer.Write(s) writer.Close( ) Console.WriteLine("File written...") End Sub End Class Public Class Application Public Shared Sub Main( ) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required