可以有另外的方法,具体如下:
while(true)
{
  try
  {
    if(stmr.PeekChar!=-1)
    {
       string temp=stmr.ReadString();
    }
  }
  catch (EndOfStreamException err)
  {
   //自己的代码
  }
  finally
  {
    strm.Close();
   }
}

解决方案 »

  1.   


    FileStream stm=new FileStream(filename,System.IO.FileMode.Open);
    BinaryReader stmr=new BinaryReader(stm);
    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
    while(true)
    {
      try
      {
        if(stmr.PeekChar!=-1)
        {
           stringBuilder.Append(stmr.ReadChar());
           Continue;
        }
        else
        {
          break;
        }
      }
      catch (EndOfStreamException err)
      {
       //自己的代码
      }
      finally
      {
        strm.Close();
       }
    }最后得到的 stringBuilder 对象中的内容即是文件的内容
      

  2.   

    打开要进行二进制访问的文件 
    通过以下语法使用 FileOpen 函数: 
    FileOpen(FileNumber, FileName, OpenMode.Binary)
    关闭要进行二进制访问的文件 
    按照以下语法使用 FileClose 函数: 
    FileClose(FileNumber)
      

  3.   

    BinaryReader r = new BinaryReader(fs);
    long nFileLen = fs.Length;
    // Read data 
    try  
    {
    while (fs.Position < fs.Length)
    {
    ReadData(r,ref obj,nRet);
    }
    }
    catch (EndOfStreamException e)
    {
    MessageBox.Show(e.ToString());
    }
    finally
    {
    fs.Close();
    }