黑马程序员技术交流社区

标题: 文本打开怎么是符号? [打印本页]

作者: 余晓亮    时间: 2012-4-20 16:11
标题: 文本打开怎么是符号?
OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "选择要打开的文档";
            ofd.Filter = "文本文档|*.txt|所有文件|*.*";
            if(ofd.ShowDialog()==DialogResult.OK)
            {
                string strYuan = ofd.FileName;
                FileStream fs = new FileStream(strYuan,FileMode.Open,FileAccess.Read,FileShare.None);
                /*创建一个文件流对象 fs获取打开的文件路径,打开方式,读写属性,
                其他程序是否可以访问打开的文件*/
                StreamReader sr = new StreamReader(fs);//创建一个流读取器sr 读取文件流fs
                //while(sr.EndOfStream==false)
                //{
                //    string line = sr.ReadLine();//读取一行
                //    textBox1.Text = textBox1.Text + line;
                //}
                this.Text = strYuan.Substring(ofd.FileName.LastIndexOf("\\") + 1);
                textBox1.Text = sr.ReadToEnd();
                sr.Close();
                fs.Close();
以上的代码有问题吗?怎么运行后,汉字显示不了 而是符号呢?

1.jpg (7.87 KB, 下载次数: 30)

1.jpg

作者: 余晓亮    时间: 2012-4-20 16:14
是文档的编码问题吗?
作者: 柏云杉    时间: 2012-4-20 16:27
你得设置文本读取的编码格式,
Encoding.Default   设置默认编码就可以了
作者: 余晓亮    时间: 2012-4-20 16:31
柏云杉 发表于 2012-4-20 16:27
你得设置文本读取的编码格式,
Encoding.Default   设置默认编码就可以了

StreamReader sr = new StreamReader(fs,Encoding.Default);
嗯   不够细心啊
作者: 过客    时间: 2012-4-20 16:33
设置一下编码方式就行了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2