用Encoding来解决
一段我自己写的代码:
l_strTemp="";
int l_iRetval=1;
l_fStream=new FileStream(l_strFileName,FileMode.Open,FileAccess.Read);
Byte[] l_Byte=new Byte[1024];
l_Byte.Initialize();
for(;l_iRetval!=0;)
{
l_Byte.Initialize();
l_strTemp="";
l_iRetval=l_fStream.Read(l_Byte,0,1024);
l_strTemp=Encoding.Default.GetString(l_Byte,0,1024);
l_strFileContents+=l_strTemp;
}

解决方案 »

  1.   

    我以前也碰到过这个问题,推荐使用Stream的方式打开文本文档,很方便,可以随便指定编码!StreamReader读取文本文档,StreamWrite写文本文档。System.Text.Unicoding.*指定编码方式。
      

  2.   

    用默认的编码确实读不出来,
    直接用StreamReader好像是可以,
    seaman兄:
    能不能给段代码??
      

  3.   

    感谢您使用微软的产品。读文本文件中的汉字出错主要是由于编码出的问题。您可以在初始化streamreader对象的时候指定它的编码,您可以参考以下如下的代码:
    StreamReader fSrd= new StreamReader ("e:\\temp\\csdn.txt",Encoding.Default   );
    关于streamreader构造函数详细的说明,请参看:
    .NET Framework Class Library   StreamReader Constructor (Stream, Encoding)http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemiostreamreaderclassctortopic4.asp- 微软全球技术中心 技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。