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
. Установка значения AutoFlushtrue
означает, что данные будут сброшены из буфера в поток, но состояние кодировщика не будет сброшено. Это позволяет кодировщику сохранять свое состояние (частичные символы), чтобы он смог правильно кодировать следующий блок символов. Этот сценарий влияет на UTF8 и UTF7, где определенные символы можно закодировать только после того, как кодировщик получит смежные символы или символы.
Попытки управлять потоком после закрытия потока могут вызвать исключение ObjectDisposedException.
В производных классах не переопределите Close() метод , а поместите всю логику Stream
очистки Dispose(Boolean) в метод . Дополнительные сведения см. в разделе Реализация метода Dispose.
Продукт | Версии |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: