string MyText="",ch;//MyText存放要显示的文件内容,称之为结果字符串
int a=0;
//以打开,只读的方式创建文件流MyFile
FileStream MyFile=new FileStream("C:\\EXAMPLE1.TXT",FileMode.Open,FileAccess.Read );
a=MyFile.ReadByte();//从文件中读取一个字节
while(a!=-1)//如果不是文件的结尾
{  
                                     ch=((char)a).ToString();//把读取的字节转换为字符串型
MyText=MyText+ch;//把该字符串连接到结果字符串的末尾
a=MyFile.ReadByte();//再读一个字节
}
textBox1.Text =MyText;//把结果字符串在文本框中显示出来
MyFile.Close();//关闭文件
还是想不明啊,文本里C:\\EXAMPLE1.TXT,是字符串型,但a是整型吧,上面这一句
“ch=((char)a).ToString();”将a转换成char再转Tostring()
若文本里面的是“66”,而a应是先后两次读出字节“6”“6”转换成ASCII码应是5454才对啊(6的ASCII码是54)
为什么运行出来能是 66。问得有点乱,只要想问的是 从文本里的数到整型 a 到ch=((char)a).ToString();最后到显示在textbox1.text的整个过程是怎样的

解决方案 »

  1.   

    呵呵
    其实你已经说对了啊
    6的asc是54
    然后一个(char)a就已经将其转换为了‘6’再tostring()就可以往textbox中放了
      

  2.   

    刚才那位在
    a=MyFile.ReadByte();//再读一个字节 a=54
    如果你是a.ToString就是5454
    但是你都转换成char了,当然是66了
      

  3.   

    从文件流中ReadByte出来的是一个字节,没必要将它转换成整形,因为整形在32位系统下占用四个字节,而字符只占用一个字节,所以建议将变量a定义为字符类型再试试!
      

  4.   

    哈哈,嗯,试了几次,全明了
    有你这样热心的人在,我也能变得很强大的~~~~~再次谢谢CsToD.