StreamReader在读取文本文件时,默认情况下会使用UTF-8编码。如果文件的编码不是UTF-8,可以通过指定编码来进行读取。
例如,如果文件是使用UTF-16编码的,可以这样读取:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
string filePath = "file.txt";
using (StreamReader sr = new StreamReader(filePath, Encoding.Unicode))
{
string line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
}
在这个例子中,我们指定了编码为Unicode(UTF-16),以正确读取文件的内容。根据文件的实际编码情况,可以选择合适的编码类型来读取文件内容。