BufferedStream.Close 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
關閉串流並釋放與目前緩衝串流相關的任何資源(尤其是系統資源如套接字和檔案處理碼)。
public:
override void Close();
public override void Close();
override this.Close : unit -> unit
Public Overrides Sub Close ()
例外狀況
在嘗試關閉串流時發生錯誤。
備註
先前寫入緩衝區的資料會被複製到底層資料來源或儲存庫,然後緩衝串流才會關閉。 因此,在啟動關閉前不必先呼叫 Flush() 。 在呼叫關閉之後,對緩衝串流的任何操作都可能會觸發例外。
除非你明確呼叫 Flush() 或關閉,否則沖洗串流不會沖洗其底層編碼器。 設 AutoFlush 為 true 表示資料會從緩衝區清空到串流,但編碼器狀態不會被清空。 這讓編碼器能保留其狀態(部分字元),以便正確編碼下一個字元區塊。 此情境影響 UTF8 與 UTF7,因為某些字元只能在編碼器接收相鄰字元後再編碼。
在串流關閉後嘗試操作可能會觸發 ObjectDisposedException。