BufferedStream.Close Metoda

Definicja

Zamyka strumień i zwalnia wszystkie zasoby (zwłaszcza zasoby systemowe, takie jak gniazda i uchwyty plików) skojarzone z bieżącym buforem strumienia.

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

Wyjątki

Wystąpił błąd podczas próby zamknięcia strumienia.

Przykłady

Ten przykład kodu jest częścią większego przykładu podanego BufferedStream dla klasy.

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

Uwagi

Wszystkie dane zapisane wcześniej w buforze są kopiowane do bazowego źródła danych lub repozytorium przed zamknięciem buforowanego strumienia. W związku z tym nie jest konieczne wywołanie Flush() przed wywołaniem polecenia Close. Po wywołaniu metody Close wszystkie operacje w buforowym strumieniu mogą zgłaszać wyjątki.

Opróżnienie strumienia nie spowoduje opróżnienia jego kodera bazowego, chyba że jawnie wywołasz Flush() lub zamknij. Ustawienie AutoFlush wartości true oznacza, że dane zostaną opróżnione z buforu do strumienia, ale stan kodera nie zostanie opróżniony. Dzięki temu koder może zachować stan (częściowe znaki), aby można było poprawnie zakodować następny blok znaków. Ten scenariusz ma wpływ na utF8 i UTF7, gdzie niektóre znaki mogą być zakodowane tylko po otrzymaniu sąsiadującego znaku lub znaków.

Próba manipulowania strumieniem po jego zamknięciu może zgłosić błąd ObjectDisposedException.

Dotyczy

Zobacz też