怎样正确读取不同编码格式的文件中的内容?(针对文本文件,有很多编码格式,UTF-8,Unicode,ANSII,UIF-32等) 在控制台里,我用StreamReader就可以将文件正确的读取,而不用考虑文件的格式;而在Windows Form里有时候会出错,纳闷儿,为什么会出现这种情况?RichTextBox里是Unicode编码,就是因为这个吧?
我用RichTextBox的LoadFile方法可以正确的读取,但事先要用GetExtension()判断文件的扩展名来确定用什么格式,才能正确的读取。用ReadAllLines()方法都要判断一下文件的编码格式,很麻烦。
必须这样做么?有没有好的办法?可以不用判断文件的编码格式来正确读取文件?比如读如到RichTextBox中。
我用RichTextBox的LoadFile方法可以正确的读取,但事先要用GetExtension()判断文件的扩展名来确定用什么格式,才能正确的读取。用ReadAllLines()方法都要判断一下文件的编码格式,很麻烦。
必须这样做么?有没有好的办法?可以不用判断文件的编码格式来正确读取文件?比如读如到RichTextBox中。
在.NET里面处理文本文档一般用StreamReader和StreamWriter,注意:只有第一个参数是必须的,其他的是默认参数StreamReader sr = new StreamReader("User.txt", System.Text.Encoding.UTF8);
string strLine = sr.ReadLine();
if(strLine.Equals("0"))
{
this.cmbType.SelectedIndex = 0;
}
...
string sLine;
StreamWriter sw = new StreamWriter("User.txt", false, System.Text.Encoding.UTF8);
if(this.cmbType.SelectedIndex == 0)
{
sw.WriteLine("0");
}