Skip to main content
.NET Framework Class Library
BinaryWriterWrite Method (Byte)

Writes an unsigned byte to the current stream and advances the stream position by one byte.

Namespace:   System.IO
Assemblies:   System.IO (in System.IO.dll)
  mscorlib (in mscorlib.dll)
Syntax
Public Overridable Sub Write ( _
	value As [%$TOPIC/6tky7ax3_en-us_VS_110_1_0_0_0_0%] _
)
public virtual void Write(
	[%$TOPIC/6tky7ax3_en-us_VS_110_1_0_1_0_0%] value
)
public:
virtual void Write(
	[%$TOPIC/6tky7ax3_en-us_VS_110_1_0_2_0_0%] value
)
abstract Write : 
        value:[%$TOPIC/6tky7ax3_en-us_VS_110_1_0_3_0_0%] -> unit  
override Write : 
        value:[%$TOPIC/6tky7ax3_en-us_VS_110_1_0_3_0_1%] -> unit
public function Write(
	value : [%$TOPIC/6tky7ax3_en-us_VS_110_1_0_4_0_0%]
)

Parameters

value
Type: SystemByte

The unsigned byte to write.

Exceptions
ExceptionCondition
IOException

An I/O error occurs.

ObjectDisposedException

The stream is closed.

Remarks

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.

Examples

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.

Imports System
Imports System.IO

Public Class BinaryRW

    Shared Sub Main()

        Dim i As Integer = 0

        ' Create random data to write to the stream. 
        Dim writeArray(1000) As Byte 
        Dim randomGenerator As New Random()
        randomGenerator.NextBytes(writeArray)

        Dim binWriter As New BinaryWriter(New MemoryStream())
        Dim binReader As New BinaryReader(binWriter.BaseStream)

        Try 

            ' Write the data to the stream.
            Console.WriteLine("Writing the data.")
            For i = 0 To writeArray.Length - 1
                binWriter.Write(writeArray(i))
            Next 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 To writeArray.Length - 1
                If binReader.ReadByte() <> writeArray(i) Then
                    Console.WriteLine("Error writing the data.")
                    Return 
                End If 
            Next i
            Console.WriteLine("The data was written and verified.")

        ' Catch the EndOfStreamException and write an error message. 
        Catch ex As EndOfStreamException
            Console.WriteLine("Error writing the data: {0}", _
                ex.GetType().Name)
        End Try 

    End Sub 
End Class
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);

        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;
                }
            }
            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);
        }
    }
}
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 );
   }

}
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