BufferedStream.Close Methode

Definition

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

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

Ausnahmen

Fehler beim Schließen des Datenstroms.

Hinweise

Alle zuvor in den Puffer geschriebenen Daten werden in die zugrunde liegende Datenquelle oder das Zugrunde liegende Repository kopiert, bevor der gepufferte Datenstrom geschlossen wird. Daher ist es nicht erforderlich, vor dem Aufrufen von Close aufzurufen Flush() . Nach einem Aufruf von Close können alle Vorgänge im gepufferten Datenstrom 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. Das Festlegen auf "true" AutoFlush bedeutet, dass Daten aus dem Puffer in den Datenstrom geleert werden, der Encoderstatus wird jedoch nicht geleert. Dadurch kann der Encoder seinen Zustand (Teilzeichen) beibehalten, damit er den nächsten Zeichenblock richtig codieren kann. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, bei dem bestimmte Zeichen nur codiert werden können, nachdem der Encoder das angrenzende Zeichen oder zeichen empfängt.

Wenn Sie versuchen, einen Datenstrom zu bearbeiten, nachdem er geschlossen wurde, wird möglicherweise ein ObjectDisposedException.

Gilt für:

Weitere Informationen