C# 中,TextWriter.Close 方法用于关闭当前的 TextWriter,并释放其使用的所有资源(如文件句柄和缓冲区)。
该方法的完整声明如下:
public virtual void Close();
调用该方法将会先调用 Flush 方法清空缓冲区,然后关闭流。在关闭之后,任何对 TextWriter 对象的进一步尝试将导致 ObjectDisposedException。
使用方法的攻略如下:
- 创建 TextWriter 对象
为了使用 TextWriter.Close 方法,我们需要先创建 TextWriter 的实例。可以使用 System.IO 命名空间中的 StreamWriter、FileStream 等类来创建 TextWriter 对象。
using System.IO;
TextWriter writer = new StreamWriter("output.txt");
- 写入数据并关闭
通过调用 TextWriter.Write 或 WriteLine 方法,可以将字符串写入到文本流中。当写入完成后,调用 Close 方法即可释放资源。
writer.Write("Hello World!");
writer.Close();
- 使用 using 关键字自动释放
在 C# 中,使用 using 语句可以在使用完资源之后自动释放。这样可以有效避免资源泄漏问题。在 using 语句中创建 TextWriter 对象,当语句块结束时,自动调用 Close 方法释放资源。
using (TextWriter writer = new StreamWriter("output.txt"))
{
writer.WriteLine("Hello World!");
}
示例代码:
using System;
using System.IO;
namespace TestApplication
{
class Program
{
static void Main(string[] args)
{
using (TextWriter writer = new StreamWriter("output.txt"))
{
writer.Write("Hello World!");
writer.Close();
}
Console.WriteLine("File written.");
}
}
}
以上代码使用 C# 的 using 语句创建 TextWriter 对象,并使用 Write 方法将字符串写入到文本流中。在 using 块结束后,自动调用 Close 方法清空缓冲区并关闭文件流。