Stream.Close 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
關閉目前資料流和釋放與目前資料流相關聯的任何資源 (例如通訊端和檔案控制代碼)。 請確定正確地處置資料流,而非呼叫這個方法。
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 方法。
除非您明確呼叫 或Close
的Flush實作,否則清除數據流不會排清其基礎編碼器。 設定 AutoFlush 為 true
表示數據會從緩衝區排清到數據流,但不會清除編碼器狀態。 這可讓編碼器保持其狀態 (部分字元) ,以便正確編碼下一個字元區塊。 此案例會影響UTF8和UTF7,其中某些字元只能在編碼器收到相鄰字元或字元之後進行編碼。
試著在關閉資料串流之後操作資料流可能會擲回 ObjectDisposedException。
給繼承者的注意事項
在衍生類別中,請勿改為覆寫 Close() 方法,而是將所有清除邏輯放在 Stream
方法中 Dispose(Boolean) 。 如需詳細資訊,請參閱 實作 Dispose 方法。