Teilen über


BufferedStream.Close Methode

Definition

Schließt den Stream und gibt alle Ressourcen frei (insbesondere Systemressourcen wie Sockets und Dateihandles), die dem aktuellen Pufferstream zugeordnet sind.

public:
 override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()

Ausnahmen

Beim Schließend des Streams ist ein Fehler aufgetreten.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die BufferedStream-Klasse bereitgestellt wird.

' When bufStream is closed, netStream is in turn 
' closed, which in turn shuts down the connection 
' and closes clientSocket.
Console.WriteLine(vbCrLf & "Shutting down the connection.")
bufStream.Close()
// When bufStream is closed, netStream is in turn
// closed, which in turn shuts down the connection
// and closes clientSocket.
Console.WriteLine("\nShutting down the connection.");
bufStream.Close();
// When bufStream is closed, netStream is in turn closed,
// which in turn shuts down the connection and closes
// clientSocket.
Console::WriteLine( "\nShutting down connection." );
bufStream->Close();

Hinweise

Alle Daten, die zuvor in den Puffer geschrieben wurden, werden in die zugrunde liegende Datenquelle oder das zugrunde liegende Repository kopiert, bevor der gepufferte Stream geschlossen wird. Daher ist es nicht erforderlich, vor dem Aufrufen von Close aufzurufen Flush() . Nach einem Aufruf von Close können alle Vorgänge für den gepufferten Stream Ausnahmen auslösen.

Durch das Leeren des Datenstroms wird der zugrunde liegende Encoder nicht geleert, es sei denn, Sie rufen explizit auf Flush() oder schließen. Die Einstellung AutoFlush auf true bedeutet, dass Daten aus dem Puffer in den Stream geleert werden, aber der Encoderstatus nicht geleert wird. Dadurch kann der Encoder seinen Zustand (Teilzeichen) beibehalten, sodass er den nächsten Zeichenblock ordnungsgemäß codieren kann. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, wobei bestimmte Zeichen erst codiert werden können, nachdem der Encoder die angrenzenden Zeichen empfangen hat.

Wenn Sie versuchen, einen Stream zu bearbeiten, nachdem er geschlossen wurde, wird möglicherweise ein ObjectDisposedExceptionausgelöst.

Gilt für:

Weitere Informationen