我們在讀取txt文件時,如果文件格式不是utf8,則獲取的中文會亂碼,所以要么另存文件為utf8格式,要么使用和文件相同的編碼來讀取。
如果文件為utf8,則:
//一種 StreamReader sr = new StreamReader(@"C:\Users\LIKUI\Desktop\密碼.txt", Encoding.Default); var reader_Str = sr.ReadToEnd(); //第二種 string upStr = File.ReadAllText(@"C:\Users\LIKUI\Desktop\密碼.txt", Encoding.Default); //第三種 FileStream fs = File.OpenRead(@"C:\Users\LIKUI\Desktop\密碼.txt"); int num = fs.Read(bt,0,bt.Length); var str = Encoding.Default.GetString(bt); Console.WriteLine(str);
用Encoding.UTF8和Encoding.UTF8.GetString(bt)均可以。
如果不修改文件編碼,則需要指定格式進行讀取
直接報錯,需要添加NuGet程序包 System.Text.Encoding.CodePages
//注冊編碼(放在將要指定編碼,進行文件解析前) Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);