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),以正確讀取文件的內容。根據文件的實際編碼情況,可以選擇合適的編碼類型來讀取文件內容。