Skip to main content
.NET Framework Class Library
BinaryReader Constructor (Stream)

Initializes a new instance of the BinaryReader class based on the specified stream and using UTF-8 encoding.

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Sub New ( _
	input As [%$TOPIC/2k01zeat_en-us_VS_110_2_0_0_0_0%] _
)
public BinaryReader(
	[%$TOPIC/2k01zeat_en-us_VS_110_2_0_1_0_0%] input
)
public:
BinaryReader(
	[%$TOPIC/2k01zeat_en-us_VS_110_2_0_2_0_0%]^ input
)
new : 
        input:[%$TOPIC/2k01zeat_en-us_VS_110_2_0_3_0_0%] -> BinaryReader

Parameters

input
Type: System.IOStream

The input stream.

Exceptions
ExceptionCondition
ArgumentException

The stream does not support reading, is , or is already closed.

Remarks

For a list of common I/O tasks, see Common I/O Tasks.

Examples

The following code example demonstrates how to store and retrieve application settings in a file.

Imports System.IO

Module Module1
    Const fileName As String = "AppSettings.dat" 

    Sub Main()
        WriteDefaultValues()
        DisplayValues()
    End Sub 

    Sub WriteDefaultValues()
        Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
            writer.Write(1.25F)
            writer.Write("c:\Temp")
            writer.Write(10)
            writer.Write(True)
        End Using 
    End Sub 

    Sub DisplayValues()
        Dim aspectRatio As Single 
        Dim tempDirectory As String 
        Dim autoSaveTime As Integer 
        Dim showStatusBar As Boolean 

        If (File.Exists(fileName)) Then 

            Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
                aspectRatio = reader.ReadSingle()
                tempDirectory = reader.ReadString()
                autoSaveTime = reader.ReadInt32()
                showStatusBar = reader.ReadBoolean()
            End Using

            Console.WriteLine("Aspect ratio set to: " & aspectRatio)
            Console.WriteLine("Temp directory is: " & tempDirectory)
            Console.WriteLine("Auto save time set to: " & autoSaveTime)
            Console.WriteLine("Show status bar: " & showStatusBar)
        End If 
    End Sub 

End Module
using System;
using System.IO;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
        {
            writer.Write(1.250F);
            writer.Write(@"c:\Temp");
            writer.Write(10);
            writer.Write(true);
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
            {
                aspectRatio = reader.ReadSingle();
                tempDirectory = reader.ReadString();
                autoSaveTime = reader.ReadInt32();
                showStatusBar = reader.ReadBoolean();
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}
Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Platforms

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.