Skip to main content
.NET Framework Class Library
BinaryReaderReadInt32 Method

Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes.

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Overridable Function ReadInt32 As [%$TOPIC/9st2hx2k_en-us_VS_110_1_0_0_0_0%]
public virtual [%$TOPIC/9st2hx2k_en-us_VS_110_1_0_1_0_0%] ReadInt32()
public:
virtual [%$TOPIC/9st2hx2k_en-us_VS_110_1_0_2_0_0%] ReadInt32()
abstract ReadInt32 : unit -> [%$TOPIC/9st2hx2k_en-us_VS_110_1_0_3_0_0%]  
override ReadInt32 : unit -> [%$TOPIC/9st2hx2k_en-us_VS_110_1_0_3_0_1%]
public function ReadInt32() : [%$TOPIC/9st2hx2k_en-us_VS_110_1_0_4_0_0%]

Return Value

Type: SystemInt32
A 4-byte signed integer read from the current stream.
Exceptions
ExceptionCondition
EndOfStreamException

The end of the stream is reached.

ObjectDisposedException

The stream is closed.

IOException

An I/O error occurs.

Remarks

BinaryReader does not restore the file position after an unsuccessful read.

BinaryReader reads this data type in little-endian format.

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.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8