BinaryReader.ReadBoolean Method (System.IO)

Switch View :
ScriptFree
.NET Framework Class Library
BinaryReader.ReadBoolean Method

Reads a Boolean value from the current stream and advances the current position of the stream by one byte.

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

Visual Basic
Public Overridable Function ReadBoolean As Boolean
C#
public virtual bool ReadBoolean()
Visual C++
public:
virtual bool ReadBoolean()
F#
abstract ReadBoolean : unit -> bool 
override ReadBoolean : unit -> bool 

Return Value

Type: System.Boolean
true if the byte is nonzero; otherwise, false.
Exceptions

Exception Condition
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.

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

Examples

This code example is part of a larger example provided for the BinaryReader class.

Visual Basic

Dim binReader As New BinaryReader( _
    File.Open(fileName, FileMode.Open))
Try

    ' If the file is not empty,
    ' read the application settings.
    ' First read 4 bytes into a buffer to 
    ' determine if the file is empty.
    Dim testArray As Byte() = {0,0,0,0}
    Dim count As Integer = binReader.Read(testArray, 0, 3)

    If count <> 0 Then

        ' Reset the position in the stream to zero.
        binReader.BaseStream.Seek(0, SeekOrigin.Begin)

        aspRatio   = binReader.ReadSingle()
        lkupDir     = binReader.ReadString()
        saveTime  = binReader.ReadInt32()
        statusBar = binReader.ReadBoolean()
        Return
    End If

' If the end of the stream is reached before reading
' the four data values, ignore the error and use the
' default settings for the remaining values.
Catch ex As EndOfStreamException
    Console.WriteLine("{0} caught and ignored. " & _ 
        "Using default values.", ex.GetType().Name)
Finally
    binReader.Close()
End Try


C#

BinaryReader binReader =
    new BinaryReader(File.Open(fileName, FileMode.Open));
try
{
    // If the file is not empty,
    // read the application settings.
    // First read 4 bytes into a buffer to
    // determine if the file is empty.
    byte[] testArray = new byte[3];
    int count = binReader.Read(testArray, 0, 3);

    if (count != 0)
    {
        // Reset the position in the stream to zero.
        binReader.BaseStream.Seek(0, SeekOrigin.Begin);

        aspectRatio   = binReader.ReadSingle();
        lookupDir     = binReader.ReadString();
        autoSaveTime  = binReader.ReadInt32();
        showStatusBar = binReader.ReadBoolean();
    }
}

// If the end of the stream is reached before reading
// the four data values, ignore the error and use the
// default settings for the remaining values.
catch(EndOfStreamException e)
{
    Console.WriteLine("{0} caught and ignored. " +
        "Using default values.", e.GetType().Name);
}
finally
{
    binReader.Close();
}


Visual C++

         BinaryReader^ binReader = gcnew BinaryReader( File::Open( fileName, FileMode::Open ) );
         try
         {


            // If the file is not empty,
            // read the application settings.
            // First read 4 bytes into a buffer to
            // determine if the file is empty.
            array<Byte>^testArray = gcnew array<Byte>(3);
            int count = binReader->Read(testArray, 0, 3);
            if ( count != -1 )
            {

               // Reset the position in the stream to zero.
               binReader->BaseStream->Seek(0, SeekOrigin::Begin);

               aspectRatio = binReader->ReadSingle();
               lookupDir = binReader->ReadString();
               autoSaveTime = binReader->ReadInt32();
               showStatusBar = binReader->ReadBoolean();
               return;
            }
         }
         // If the end of the stream is reached before reading
         // the four data values, ignore the error and use the
         // default settings for the remaining values.
         catch ( EndOfStreamException^ e )
         {
            Console::WriteLine( "{0} caught and ignored. "
            "Using default values.", e->GetType()->Name );
         }
         finally
         {
            binReader->Close();
         }




Version Information

.NET Framework

Supported in: 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
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Reference

Other Resources