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 using 在區塊中宣告物件 (或 Using 在 Visual Basic) 中封鎖,以確保資料流程及其所有資源都已處置,或您可以明確地呼叫 Dispose 方法。

除非您明確地呼叫或的執行,否則清除資料流程不會排清其基礎編碼器 Flush Close 。 如果設定 AutoFlush 為, true 表示資料將會從緩衝區排清到資料流程,但不會清除編碼器狀態。 這可讓編碼器將其狀態保留 (部分字元) ,讓它可以正確地編碼下一個字元區塊。 此案例會影響 UTF8 和 UTF7,在此情況下,只有在編碼器收到相鄰字元或字元之後,才可以將某些字元編碼。

當資料流程關閉之後,嘗試運算元據流可能會擲回 ObjectDisposedException

給繼承者的注意事項

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

適用於

另請參閱