This documentation is archived and is not being maintained.
BinaryReader Class
Visual Studio 2010
Reads primitive data types as binary values in a specific encoding.
Assembly: mscorlib (in mscorlib.dll)
The BinaryReader type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | BinaryReader(Stream) | Initializes a new instance of the BinaryReader class based on the supplied stream and using UTF8Encoding. |
![]() ![]() ![]() | BinaryReader(Stream, Encoding) | Initializes a new instance of the BinaryReader class based on the supplied stream and a specific character encoding. |
| Name | Description | |
|---|---|---|
![]() ![]() | Close | Closes the current reader and the underlying stream. |
![]() ![]() | Dispose | Releases all resources used by the current instance of the BinaryReader class. |
![]() ![]() ![]() | Dispose(Boolean) | Releases the unmanaged resources used by the BinaryReader class and optionally releases the managed resources. |
![]() ![]() ![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() ![]() ![]() | FillBuffer | Fills the internal buffer with the specified number of bytes read from the stream. |
![]() ![]() ![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() ![]() ![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() ![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() ![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() ![]() | PeekChar | Returns the next available character and does not advance the byte or character position. |
![]() ![]() ![]() | Read | Reads characters from the underlying stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream. |
![]() ![]() ![]() | Read(Byte(), Int32, Int32) | Reads the specified number of bytes from the stream, starting from a specified point in the byte array. |
![]() ![]() ![]() | Read(Char(), Int32, Int32) | Reads the specified number of characters from the stream, starting from a specified point in the character array. |
![]() ![]() ![]() | Read7BitEncodedInt | Reads in a 32-bit integer in compressed format. |
![]() ![]() ![]() | ReadBoolean | Reads a Boolean value from the current stream and advances the current position of the stream by one byte. |
![]() ![]() ![]() | ReadByte | Reads the next byte from the current stream and advances the current position of the stream by one byte. |
![]() ![]() ![]() | ReadBytes | Reads the specified number of bytes from the current stream into a byte array and advances the current position by that number of bytes. |
![]() ![]() ![]() | ReadChar | Reads the next character from the current stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream. |
![]() ![]() ![]() | ReadChars | Reads the specified number of characters from the current stream, returns the data in a character array, and advances the current position in accordance with the Encoding used and the specific character being read from the stream. |
![]() ![]() | ReadDecimal | Reads a decimal value from the current stream and advances the current position of the stream by sixteen bytes. |
![]() ![]() ![]() | ReadDouble | Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes. |
![]() ![]() ![]() | ReadInt16 | Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes. |
![]() ![]() ![]() | ReadInt32 | Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes. |
![]() ![]() ![]() | ReadInt64 | Reads an 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes. |
![]() ![]() ![]() | ReadSByte | Reads a signed byte from this stream and advances the current position of the stream by one byte. |
![]() ![]() ![]() | ReadSingle | Reads a 4-byte floating point value from the current stream and advances the current position of the stream by four bytes. |
![]() ![]() ![]() | ReadString | Reads a string from the current stream. The string is prefixed with the length, encoded as an integer seven bits at a time. |
![]() ![]() ![]() | ReadUInt16 | Reads a 2-byte unsigned integer from the current stream using little-endian encoding and advances the position of the stream by two bytes. |
![]() ![]() ![]() | ReadUInt32 | Reads a 4-byte unsigned integer from the current stream and advances the position of the stream by four bytes. |
![]() ![]() ![]() | ReadUInt64 | Reads an 8-byte unsigned integer from the current stream and advances the position of the stream by eight bytes. |
![]() ![]() ![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
For a list of common I/O tasks, see Common I/O Tasks.
The following code example demonstrates how to store and retrieve application settings in a file.
Imports Microsoft.VisualBasic Imports System Imports System.IO Imports System.Security.Permissions ' Store and retrieve application settings. Public Class AppSettings Const fileName As String = "AppSettings#@@#.dat" Dim aspRatio As Single Dim lkupDir As String Dim saveTime As Integer Dim statusBar As Boolean Sub New() ' Create default application settings. aspRatio = 1.3333 lkupDir = "C:\AppDirectory" saveTime = 30 statusBar = False If File.Exists(fileName) Then Dim binReader As New BinaryReader( _ File.Open(fileName, FileMode.Open)) Try ' If the file is not empty, ' read the application settings. ' First read 4 bytes into a buffer to ' determine if the file is empty. Dim testArray As Byte() = {0,0,0,0} Dim count As Integer = binReader.Read(testArray, 0, 3) If count <> 0 Then ' Reset the position in the stream to zero. binReader.BaseStream.Seek(0, SeekOrigin.Begin) aspRatio = binReader.ReadSingle() lkupDir = binReader.ReadString() saveTime = binReader.ReadInt32() statusBar = binReader.ReadBoolean() Return End If ' If the end of the stream is reached before reading ' the four data values, ignore the error and use the ' default settings for the remaining values. Catch ex As EndOfStreamException Console.WriteLine("{0} caught and ignored. " & _ "Using default values.", ex.GetType().Name) Finally binReader.Close() End Try End If End Sub ' Create a file and store the application settings. Sub Close() Dim binWriter As New BinaryWriter( _ File.Open(fileName, FileMode.Create)) Try binWriter.Write(aspRatio) binWriter.Write(lkupDir) binWriter.Write(saveTime) binWriter.Write(statusBar) Finally binWriter.Close() End Try End Sub Property AspectRatio As Single Get Return aspRatio End Get Set aspRatio = Value End Set End Property Property LookupDir As String Get Return lkupDir End Get Set lkupDir = Value End Set End Property Property AutoSaveTime As Integer Get Return saveTime End Get Set saveTime = Value End Set End Property Property ShowStatusBar As Boolean Get Return statusBar End Get Set statusBar = Value End Set End Property End Class Public Class Test Shared Sub Main() ' Load application settings. Dim appSettings As New AppSettings() Console.WriteLine("App settings:" & vbcrLf & "Aspect " & _ "Ratio: {0}, Lookup directory: {1}," & vbcrLf & "Auto " & _ "save time: {2} minutes, Show status bar: {3}" & vbCrLf, _ New Object(3){appSettings.AspectRatio.ToString(), _ appSettings.LookupDir, _ appSettings.AutoSaveTime.ToString(), _ appSettings.ShowStatusBar.ToString()}) ' Change the settings. appSettings.AspectRatio = 1.250 appSettings.LookupDir = "C:\Temp" appSettings.AutoSaveTime = 10 appSettings.ShowStatusBar = True ' Save the new settings. appSettings.Close() End Sub End Class
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show:

