BufferedStream.Close Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.