Export (0) Print
Expand All

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 unsigned char ReadByte()

Return Value

Type: System::Byte
The next byte read from the current stream.

ExceptionCondition
EndOfStreamException

The end of the stream is reached.

ObjectDisposedException

The stream is closed.

IOException

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

  • ISCII

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 namespace System;
using namespace System::IO;
int main()
{
   int i = 0;

   // Create random data to write to the stream. 
   array<Byte>^writeArray = gcnew array<Byte>(1000);
   (gcnew Random)->NextBytes( writeArray );
   BinaryWriter^ binWriter = gcnew BinaryWriter( gcnew MemoryStream );
   BinaryReader^ binReader = gcnew BinaryReader( binWriter->BaseStream );
   try
   {

      // Write the data to the stream.
      Console::WriteLine( "Writing the data." );
      for ( i = 0; i < writeArray->Length; i++ )
      {
         binWriter->Write( writeArray[ 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." );
            return  -1;
         }

      }
      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}", e->GetType()->Name );
   }

}

.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
Show:
© 2015 Microsoft