BufferedStream.Close Метод

Определение

Закрывает поток и освобождает все ресурсы (особенно системные ресурсы, такие как сокеты и дескрипторы файлов), связанные с текущим буферным потоком.

public:
 override void Close();
public override void Close();
override this.Close : unit -> unit
Public Overrides Sub Close ()

Исключения

Произошла ошибка при попытке закрыть поток.

Комментарии

Все данные, ранее записанные в буфер, копируются в базовый источник данных или репозиторий перед закрытием буферизованного потока. Поэтому перед вызовом Close не требуется вызывать Flush() . После вызова Close любые операции в буферизованном потоке могут вызывать исключения.

Очистка потока не будет очищать его базовый кодировщик, если вы явно не вызовете Flush() или закройте. Значение AutoFlush true означает, что данные будут удалены из буфера в поток, но состояние кодировщика не будет удалено. Это позволяет кодировщику сохранять состояние (частичные символы), чтобы кодировать следующий блок символов правильно. Этот сценарий влияет на UTF8 и UTF7, где некоторые символы могут быть закодированы только после того, как кодировщик получает смежные символы или символы.

Попытка управлять потоком после закрытия может вызвать ObjectDisposedExceptionисключение.

Применяется к

См. также раздел