using(TextReader srRead = new StreamReader(File.OpenRead("Temp.txt"), System.Text.Encoding.ASCII))
{
  char[] buffer = new char[1];
  while(srRead.Read(buffer, 0, 1)>0)
  Console.WriteLine(buffer[0]);
}

解决方案 »

  1.   

    你buffer是怎么定义的呀?
    还有read后,位置应该会自动向前的,不用写srRead.BaseStream.Position++;
      

  2.   

    srRead.BaseStream.Position在读取之后会跑到文件末尾,因为是baseStream,你可以这样做
    while(srRead.Peek() >= 0)
    {
    srRead.Read(buffer, 0, 1);
    //srRead.BaseStream.Position++;
    strTmp += buffer[0].ToString();

    }
      

  3.   

    StreamReader 可能缓冲输入,使得基础流的位置与 StreamReader 的位置不匹配