A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡松涛 中级黑马   /  2012-9-19 10:55  /  2056 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

写程序读取文本文件的内容的时候,当里面有中文的时候,读出来怎么是方框框呀,该怎么解决这个问题

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

4 个回复

倒序浏览
实例化StreamReader时,改成UTF-8的编码,输出的方框框就没有了。
回复 使用道具 举报
private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog()!= DialogResult.OK)
            {
                return;
            }
            using (FileStream filestream = File.OpenRead(openFileDialog1.FileName))
            {
                using (StreamReader sr = new StreamReader(filestream,Encoding.Default))
                {
                    string line = null;
                    while ((line = sr.ReadLine()) != null)
                    {
                        textBox1.AppendText(line);
                    }
                }
            }
        }
创建streamreader对象的时候在第二个参数中指定编码类型是Default的(在中文系统中Default类型即为ASCII类型的)。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
指定编码类型,Endoding.default不行的话试试别的,比如Endoding.utf-8
回复 使用道具 举报 0 1

string[] lines = System.lo.File.ReadAllines(@”c:\root.ini”.Encoding.Default):从文本文件读取数据
这种方法可行吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马