ReadLine()
方法是 C# 中 System.IO.StreamReader
类的一个成员,用于从流中读取一行文本。默认情况下,它假设输入流中的文本是 UTF-8 编码的。如果输入流中的文本是其他编码(如 GBK、ISO-8859-1 等),则需要使用 StreamReader
类的 CurrentEncoding
属性来指定正确的编码。
例如,以下代码演示了如何使用 StreamReader
读取不同编码的文本文件:
using System;
using System.IO;
class Program
{
static void Main()
{
// 使用 UTF-8 编码读取文件
using (StreamReader sr = new StreamReader("file_utf8.txt", Encoding.UTF8))
{
string line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
// 使用 GBK 编码读取文件
using (StreamReader sr = new StreamReader("file_gbk.txt", Encoding.GetEncoding("GBK")))
{
string line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
}
在这个例子中,我们分别使用 UTF-8 和 GBK 编码读取了两个不同编码的文本文件。注意,当使用非 UTF-8 编码时,需要将文件的编码传递给 StreamReader
构造函数。