黑马程序员技术交流社区

标题: 关于文本文件读写问题 [打印本页]

作者: wang346351    时间: 2013-4-22 23:37
标题: 关于文本文件读写问题
本帖最后由 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

运行结果:




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

作者: 王赟    时间: 2013-4-23 00:41
应该是编码格式问题。
作者: 覃庆健    时间: 2013-4-23 03:02
            using (StreamReader sr = new StreamReader(@"..\新建文本文档.txt",System.Text.Encoding.GetEncoding("gb2312")))  //路径在后面加上这句
            //就是把其他编码格式转换为国家GB标准 , 就能正常显示中文了.  你试试^^。
作者: 赵威    时间: 2013-4-23 09:10
你用的是绝对路径,在路径的后面加个Encoding.Default这个参数应该就行了,如果还是不行的话试试Encoding.GetEncoding("GBK"),因为电脑的记书本默认的编码格式是ANSI(其实也就是Gb312 ),统一一下编码就可以了;如果还是不行,就换FileStream试试
例子:
using(FileStream fsRead=new FileStream("路径", FileMode.Open))
{
     .......
}

作者: wang346351    时间: 2013-4-23 09:30
灰常感谢




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