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 方法

适用于

另请参阅