C# TextWriter.Close – 关闭文本编写器

  • Post category:C#

C# 中,TextWriter.Close 方法用于关闭当前的 TextWriter,并释放其使用的所有资源(如文件句柄和缓冲区)。

该方法的完整声明如下:

public virtual void Close();

调用该方法将会先调用 Flush 方法清空缓冲区,然后关闭流。在关闭之后,任何对 TextWriter 对象的进一步尝试将导致 ObjectDisposedException。

使用方法的攻略如下:

  1. 创建 TextWriter 对象

为了使用 TextWriter.Close 方法,我们需要先创建 TextWriter 的实例。可以使用 System.IO 命名空间中的 StreamWriter、FileStream 等类来创建 TextWriter 对象。

using System.IO;
TextWriter writer = new StreamWriter("output.txt");
  1. 写入数据并关闭

通过调用 TextWriter.Write 或 WriteLine 方法,可以将字符串写入到文本流中。当写入完成后,调用 Close 方法即可释放资源。

writer.Write("Hello World!");
writer.Close();
  1. 使用 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 方法清空缓冲区并关闭文件流。