string MyText="",ch; a=MyFile.ReadByte();//从文件中读取一个字节 while(a!=-1
{  
                                    ch=((char)a).ToString();//把读取的字节转换为字符串型
MyText=MyText+ch;
a=MyFile.ReadByte();
}
                把字节转换为字符串型为什么前面要用(char)再Tostring();而不直接a.Tostring();?

解决方案 »

  1.   

    这样哪行啊
    不要用Stream,FileStream
    要用StreamReader来读
    ReadLine
      

  2.   

          把字节转换为字符串型为什么前面要用(char)再Tostring();而不直接a.Tostring();?如果a是 66 ,因为a是int型,所以ToString后得到的是"66"
    如果是((char)a).ToString,得到的是"B",因为66的ASCII码是B
      

  3.   

    原码是这样的:
     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();//关闭文件
      

  4.   

    1句代码就行了,写这么多,汗......textBox1.Text=File.ReadAllText("C:\\EXAMPLE1.TXT",Encoding.Default);
      

  5.   


    谢谢CsTod,再问下,66先转换为(char)再转换成Tostringg还是66吗
      

  6.   


    都给你说了,66转成char,再转string是“B”结贴吧