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

适用于

另请参阅