BufferedStream.Close Yöntem

Tanım

Akışı kapatır ve geçerli arabelleğe alınan akışla ilişkili tüm kaynakları (özellikle yuvalar ve dosya tanıtıcıları gibi sistem kaynakları) serbest bırakır.

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

Özel durumlar

Akış kapatılmaya çalışılırken bir hata oluştu.

Örnekler

Bu kod örneği, sınıfı için BufferedStream sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

Arabelleğe daha önce yazılan tüm veriler, arabelleğe alınan akış kapatılana kadar temel alınan veri kaynağına veya depoya kopyalanır. Bu nedenle, Kapat'ı çağırmadan önce çağrı Flush() yapılması gerekmez. Kapat çağrısının ardından arabelleğe alınan akış üzerindeki tüm işlemler özel durumlara neden olabilir.

Akışın boşaltılması, veya Kapat'ı açıkça çağırmadığınız Flush() sürece temel aldığı kodlayıcıyı temizlemez. true olarak ayarlanması AutoFlush , verilerin arabellekten akışa boşaltılacağı ancak kodlayıcı durumunun boşaltılmayacağı anlamına gelir. Bu, kodlayıcının durumunu (kısmi karakterler) tutarak sonraki karakter bloğunu doğru kodlamasını sağlar. Bu senaryo, belirli karakterlerin yalnızca kodlayıcı bitişik karakteri veya karakterleri aldıktan sonra kodlanabildiği UTF8 ve UTF7'yi etkiler.

Bir akışı kapatıldıktan sonra işlemeye çalışmak bir ObjectDisposedExceptionatabilir.

Şunlara uygulanır

Ayrıca bkz.