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ışı kapatmaya çalışırken bir hata oluştu.

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ı, siz 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) koruyarak sonraki karakter bloğunu doğru şekilde kodlamasını sağlar. Bu senaryo UTF8 ve UTF7'yi etkiler; burada belirli karakterler yalnızca kodlayıcı bitişik karakter veya karakterleri aldıktan sonra kodlanabilir.

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

Şunlara uygulanır

Ayrıca bkz.