
C#如何读取文本文件 50
用C#读取.txt文件,常用StreamReadersr=newStreamReader("TestFile.txt")Stringline;while((line=sr...
用C#读取.txt文件,常用
StreamReader sr = new StreamReader("TestFile.txt")
String line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
当txt文件是英文能正常显示,是中文时得改编码
StreamReader sr = new StreamReader("TestFile.txt",Encoding.Default)
可是,一个文本文件可能又有中文又有英文,或者开始不能知道到底是英文还是中文的,那该怎么改程序才能无论中英文都能正常显示呢? 展开
StreamReader sr = new StreamReader("TestFile.txt")
String line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
当txt文件是英文能正常显示,是中文时得改编码
StreamReader sr = new StreamReader("TestFile.txt",Encoding.Default)
可是,一个文本文件可能又有中文又有英文,或者开始不能知道到底是英文还是中文的,那该怎么改程序才能无论中英文都能正常显示呢? 展开
8个回答
展开全部
只要指定合适的编码方法 .NET 类库会自动识别中文或是英文(单字节或双字节)。
建议用 Encoding.Default 这个表示操作系统的默认编码方案,最好不要向自作主张的指定编码方案,因为你所面对可能是各种版本的 Windows 操作系统。
一般而言,单字节是 ASCII 码,此类编码范围是:0 - 127 若转换成二进制的话,最高位永远为零。
如:ASC 码的 127 的二进制是:01111111
而双字节编码方案的它的最高位永远是:1
如:“中”字的二进制是:11010110 11010000
因此文本编辑软件就是通过上面我所说的这个特点,而正确识别出“单字”和“双字”,除此之外还可以预防“坏字”出现的问题,也就是说不会因为一个坏字而导致一大段文本都不能正确读取。
详细信息你您“百度”上搜索“Unicode 编码”
PS:可以用 UltraEdit 编辑器“二进制”方式查看,在 UltraEdit 中使用十六进制显示,用 Windows 计算器转换二进制显示模式,这样就直观了(查看 -> 科学型,然后就可以来回切换 16 进制和 2 进制了)。
建议用 Encoding.Default 这个表示操作系统的默认编码方案,最好不要向自作主张的指定编码方案,因为你所面对可能是各种版本的 Windows 操作系统。
一般而言,单字节是 ASCII 码,此类编码范围是:0 - 127 若转换成二进制的话,最高位永远为零。
如:ASC 码的 127 的二进制是:01111111
而双字节编码方案的它的最高位永远是:1
如:“中”字的二进制是:11010110 11010000
因此文本编辑软件就是通过上面我所说的这个特点,而正确识别出“单字”和“双字”,除此之外还可以预防“坏字”出现的问题,也就是说不会因为一个坏字而导致一大段文本都不能正确读取。
详细信息你您“百度”上搜索“Unicode 编码”
PS:可以用 UltraEdit 编辑器“二进制”方式查看,在 UltraEdit 中使用十六进制显示,用 Windows 计算器转换二进制显示模式,这样就直观了(查看 -> 科学型,然后就可以来回切换 16 进制和 2 进制了)。
展开全部
string path = Application.StartupPath + "\\AboutUs.txt";
System.IO.StreamReader reader = new System.IO.StreamReader(path, System.Text.Encoding.Default);
this.textBox1.Text=reader.ReadToEnd();
reader.Close();
这样就可以了,把AboutUs.txt放在和。exe一个文件夹下,还要在窗体上放一个textBox1就可以了。
System.IO.StreamReader reader = new System.IO.StreamReader(path, System.Text.Encoding.Default);
this.textBox1.Text=reader.ReadToEnd();
reader.Close();
这样就可以了,把AboutUs.txt放在和。exe一个文件夹下,还要在窗体上放一个textBox1就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
StreamReader rs = new StreamReader(fileName, Encoding.Default);
就可以了
就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
StreamReader rs = new StreamReader(fileName,Encoding.Default); 当然也可以自定义为Encoding.(任意编码)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用读中文的就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询