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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wang346351 中级黑马   /  2013-4-22 23:37  /  1835 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wang346351 于 2013-4-23 09:30 编辑

  static void Main(string[] args)
        {
              using (StreamReader sr = new StreamReader(@"..\新建文本文档.txt"))//文本文件在这个解决方案里(放到了bin里面,貌似这样写只有放bin里),不知道这样写正确不
            {
                while (true)
                {
                    string str = sr.ReadLine();
                    Console.WriteLine(str);
                    if (string.IsNullOrEmpty(str))
                    {
                        break;
                    }
                }
            }
            Console.ReadKey();
         }
文本文件是:(标题 作者)
啊啊啊啊啊啊qqqqqqqqqq      aaa
罢罢罢罢罢罢罢罢     bbb
错错错    ccc
ddddddddddddddddddddddddd  dd

运行结果:




为什么运行后中文变成了"?"问号了,英文又没事,

评分

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

查看全部评分

4 个回复

倒序浏览
应该是编码格式问题。
回复 使用道具 举报
            using (StreamReader sr = new StreamReader(@"..\新建文本文档.txt",System.Text.Encoding.GetEncoding("gb2312")))  //路径在后面加上这句
            //就是把其他编码格式转换为国家GB标准 , 就能正常显示中文了.  你试试^^。

评分

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

查看全部评分

回复 使用道具 举报
你用的是绝对路径,在路径的后面加个Encoding.Default这个参数应该就行了,如果还是不行的话试试Encoding.GetEncoding("GBK"),因为电脑的记书本默认的编码格式是ANSI(其实也就是Gb312 ),统一一下编码就可以了;如果还是不行,就换FileStream试试
例子:
using(FileStream fsRead=new FileStream("路径", FileMode.Open))
{
     .......
}
回复 使用道具 举报
灰常感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马