C# Stream.Close – 关闭流

  • Post category:C#

Stream.Close 方法是 C# 用于关闭流的方法,用于释放流所占用的系统资源,结束流的使用。该方法会将流的缓冲区的数据缓存到基础存储设备,并关闭流。流关闭后,再尝试读取和写入数据时,将引发异常。

方法签名

public virtual void Close();

使用方法

使用方法非常简单,只需要在需要关闭流的代码位置,加上流的 Close 方法即可。示例代码如下:

FileStream fs = File.Create("example.txt");
byte[] bytes = Encoding.UTF8.GetBytes("Hello, World!");
fs.Write(bytes, 0, bytes.Length);
fs.Close();

在上述示例中,我们创建了一个文件流,将字符串“Hello World!”写入该文件,然后调用 Close 方法关闭流。

需要注意的是,如果在创建流的代码块中使用了 using 语句,那么在 using 语句结束后,流会自动关闭并释放资源,此时不需要再手动调用 Close 方法。

下面再给出一个使用 Close 方法的示例:

WebClient client = new WebClient();
Stream stream = client.OpenRead("https://www.example.com");
StreamReader sr = new StreamReader(stream);
string content = sr.ReadToEnd();
stream.Close();
sr.Close();

在上述示例中,我们通过 WebClient 类打开一个HTTP链接,并从该链接获取内容。获取内容后,需要使用 Close 方法关闭流。需要注意的是,在关闭流之前,我们还需要先关闭 StreamReader 对象。在这个案例中,Close 方法的作用是关闭网络连接并释放它所占用的资源。

总之,对于所有的流对象,我们都应该将 Close 方法加入到我们的代码当中,以确保我们的程序释放占用的资源。

以上就是 C# Stream.Close 方法的完整攻略。该方法用于释放流占用的系统资源并关闭流,使用方法非常简单,只需要在流的操作结束后调用 Close 方法即可。