Stream.Close 方法

定義

關閉目前資料流和釋放與目前資料流相關聯的任何資源 (例如通訊端和檔案控制代碼)。 請確定正確地處置資料流,而非呼叫這個方法。

public:
 virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()

備註

這個方法會呼叫 Dispose,指定 true 以釋放所有資源。 您不需要特別呼叫 Close 方法。 相反地,請確定已正確處置每個 Stream 物件。 您可以在 Stream Visual Basic 中宣告區塊內的 using 物件 (或 Using 區塊) ,以確保數據流及其所有資源都已處置,或者您可以明確呼叫 Dispose 方法。

除非您明確呼叫 或CloseFlush實作,否則清除數據流不會排清其基礎編碼器。 設定 AutoFlushtrue 表示數據會從緩衝區排清到數據流,但不會清除編碼器狀態。 這可讓編碼器保持其狀態 (部分字元) ,以便正確編碼下一個字元區塊。 此案例會影響UTF8和UTF7,其中某些字元只能在編碼器收到相鄰字元或字元之後進行編碼。

試著在關閉資料串流之後操作資料流可能會擲回 ObjectDisposedException

給繼承者的注意事項

在衍生類別中,請勿改為覆寫 Close() 方法,而是將所有清除邏輯放在 Stream 方法中 Dispose(Boolean) 。 如需詳細資訊,請參閱 實作 Dispose 方法

適用於

另請參閱