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
构造函数。