C# TextReader.Close – 关闭文本读取器

  • Post category:C#

TextReader是.NET Framework中的一个抽象类,用于从文本流中读取字符。而TextReader.Close方法则是用于关闭当前TextReader对象并释放与该对象相关联的所有资源。

使用方法如下:

TextReader tr = new StreamReader("example.txt");
// 读取文本流
tr.Close();

这里使用了StreamReader作为TextReader对象的实现类,它支持从磁盘文件和其它类型的流中读取字符。

还有一个需要注意的地方是,Close方法不只是关闭文件,它也会释放由该对象使用的系统资源。因此,在使用完TextReader对象之后,一定要调用Close方法来确保资源得到释放。

下面是两个示例说明:

示例1:从文件中读取数据

以下示例展示了如何读取位于“example.txt”文件中的数据,并使用Close方法关闭StreamReader对象。

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            using (TextReader tr = new StreamReader("example.txt"))
            {
                Console.WriteLine(tr.ReadToEnd());
                tr.Close();
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}

示例2:从字符串数组中读取数据

以下示例展示了如何从一个包含字符串的数组中读取数据,并使用Close方法关闭StreamReader对象。

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string[] lines = { "First line", "Second line", "Third line" };
        using (TextReader tr = new StringReader(string.Join(Environment.NewLine, lines)))
        {
            Console.WriteLine(tr.ReadToEnd());
            tr.Close();
        }
    }
}

这个示例先将字符串数组中的内容通过string.Join函数连接在一起,成为一个包含多行文本的字符串,然后将其作为参数传递给TextReader的子类StringReader,从而创建一个用于读取该字符串的TextReader对象。最后,通过ReadToEnd方法将整个字符串读取出来,并使用Close方法关闭TextReader对象。