System.IO.Stream.Close 方法

方法描述

关闭当前流并释放与之关联的所有资源(如套接字和文件句柄)。

语法定义

public virtual void Close()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 void

提示和注释

此方法调用 Dispose,指定 true 释放所有资源。

如果不显式调用 Flush 或 Close 的实现,刷新流将不会刷新其基础编码器。 将 AutoFlush 设置为 true 意味着将数据从缓冲区刷新到流中,但不刷新编码器状态。 这将允许编码器保持其状态(不完全字符),以便它可以正确地对下一个字符块进行编码。 此方案影响 UTF8 和 UTF7,其中某些字符只能在编码器收到相邻的一个或多个字符后才能进行编码。

流的正常操作需要调用 Close。 调用 Close 后,在流上进行其他操作会引发异常。 如果流已关闭,对 Close 的调用不会引发异常。

在流关闭后,尝试对流进行操作可能会引发 ObjectDisposedException。

对实现者的说明

在派生类中不要重写 Close 方法,而应将所有 Stream 清理逻辑放入 Dispose 方法中。 有关更多信息,请参见 实现 Dispose 方法。

System.IO.Stream.Close 方法例子


异常

异常 异常描述

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。