BufferedStream.Close Metoda

Definice

Zavře datový proud a uvolní všechny prostředky (zejména systémové prostředky, jako jsou sokety a popisovače souborů) přidružené k aktuálnímu datovému proudu ve vyrovnávací paměti.

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

Výjimky

Při pokusu o zavření datového proudu došlo k chybě.

Příklady

Tento příklad kódu je součástí většího příkladu BufferedStream pro třídu .

' 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();

Poznámky

Všechna data, která byla dříve zapsána do vyrovnávací paměti, se zkopírují do podkladového zdroje dat nebo úložiště před uzavřením datového proudu ve vyrovnávací paměti. Proto není nutné volat Flush() před vyvoláním Close. Po volání Close můžou všechny operace s datovým proudem ve vyrovnávací paměti vyvolat výjimky.

Vyprázdnění datového proudu nevyprázdní jeho základní kodér, pokud ho explicitně nezavoláte Flush() nebo nezavřete. Nastavení AutoFlush na hodnotu true znamená, že se data vyprázdní z vyrovnávací paměti do datového proudu, ale stav kodéru se nevyprázdní. To umožňuje kodéru zachovat svůj stav (částečné znaky), aby mohl správně zakódovat další blok znaků. Tento scénář má vliv na kódování UTF8 a UTF7, kde určité znaky lze zakódovat až poté, co kodér přijme sousední znak nebo znaky.

Při pokusu o manipulaci s datovým proudem po jeho zavření může dojít k chybě ObjectDisposedException.

Platí pro

Viz také