ReadByte Method

BinaryReader.ReadByte Method ()


Reads the next byte from the current stream and advances the current position of the stream by one byte.

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

public virtual byte ReadByte()

Return Value

Type: System.Byte

The next byte read from the current stream.

Exception Condition

The end of the stream is reached.


The stream is closed.


An I/O error occurs.

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

Because of data formatting conflicts, using this method with the following encodings is not recommended:

  • UTF-7

  • ISO-2022-JP


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

The following code example shows how to write binary data using memory as a backing store, and then verify that the data was written correctly.

using System;
using System.IO;

class BinaryRW
    static void Main()
        int i = 0;

        // Create random data to write to the stream.
        byte[] writeArray = new byte[1000];
        new Random().NextBytes(writeArray);

        BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
        BinaryReader binReader = 
            new BinaryReader(binWriter.BaseStream);

            // Write the data to the stream.
            Console.WriteLine("Writing the data.");
            for(i = 0; i < writeArray.Length; i++)

            // Set the stream position to the beginning of the stream.
            binReader.BaseStream.Position = 0;

            // Read and verify the data from the stream.
            for(i = 0; i < writeArray.Length; i++)
                if(binReader.ReadByte() != writeArray[i])
                    Console.WriteLine("Error writing the data.");
            Console.WriteLine("The data was written and verified.");

        // Catch the EndOfStreamException and write an error message.
        catch(EndOfStreamException e)
            Console.WriteLine("Error writing the data.\n{0}",

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft