Freigeben über


BinaryReader.Close-Methode

Schließt den aktuellen Reader und den zugrunde liegenden Stream.

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

Syntax

'Declaration
Public Overridable Sub Close
'Usage
Dim instance As BinaryReader

instance.Close
public virtual void Close ()
public:
virtual void Close ()
public void Close ()
public function Close ()

Hinweise

Diese Implementierung von Close ruft die Dispose-Methode auf, die den Wert true übergibt.

Durch Entleeren des Streams wird der zugrunde liegende Encoder nicht entleert, wenn Sie nicht ausdrücklich Flush oder Close aufrufen. Wenn AutoFlush auf true festgelegt ist, werden Daten aus dem Puffer in den Stream weggeschrieben, aber der Encoderzustand wird nicht entleert. Dadurch kann der Encoder seinen Zustand beibehalten (Teilzeichen), um den nächsten Zeichenblock richtig zu codieren. Dieses Szenario betrifft UTF8 und UTF7, wo bestimmte Zeichen nur verschlüsselt werden können, nachdem der Encoder das bzw. die angrenzenden Zeichen empfangen hat.

Beispiel

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die BinaryReader-Klasse.

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

    ' If the file is not empty, 
    ' read the application settings.
    If binReader.PeekChar() <> -1 Then
        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
BinaryReader binReader = 
    new BinaryReader(File.Open(fileName, FileMode.Open));
try
{
    // If the file is not empty, 
    // read the application settings.
    if(binReader.PeekChar() != -1)
    {
        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();
}
BinaryReader^ binReader = gcnew BinaryReader( File::Open( fileName, FileMode::Open ) );
try
{
   
   // If the file is not empty, 
   // read the application settings.
   if ( binReader->PeekChar() != -1 )
   {
      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();
}

BinaryReader binReader =
    new BinaryReader(File.Open(fileName, FileMode.Open));
try {
    // If the file is not empty, 
    // read the application settings.
    if ( binReader.PeekChar() !=-1  ) {
        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().get_Name());
}
finally {
    binReader.Close();
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

BinaryReader-Klasse
BinaryReader-Member
System.IO-Namespace

Weitere Ressourcen

Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei