用下面程序读取 文本
label_ITC_1
0
label_ITC_2

的时候,出现错误无法在流的结尾之外进行读取。,请教解决方法,我要每次读取一个字符串,不是一行。谢谢,详细出错信息在程序下string path = Server.MapPath("")+"\\1.sql";
FileStream   fs=new   FileStream(path,FileMode.Open,FileAccess.Read);  
BinaryReader   br   =   new   BinaryReader(fs);   
br.BaseStream.Seek(0,   SeekOrigin.Begin);
string   s   =   br.ReadString();   无法在流的结尾之外进行读取。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.EndOfStreamException: 无法在流的结尾之外进行读取。源错误: 
行 26:  br.BaseStream.Seek(0,   SeekOrigin.Begin);
行 27:      
行 28:      string   s   =   br.ReadString();   
行 29: 
行 30: 
 源文件: \webform1.aspx.cs    行: 28 堆栈跟踪: 
[EndOfStreamException: 无法在流的结尾之外进行读取。]
   System.IO.__Error.EndOfFile() +48
   System.IO.BinaryReader.ReadString() +191
   dgniamWeb.CostPlan.WebForm1.Page_Load(Object sender, EventArgs e) in d:\dgniam\dgniamweb\costplan\webform1.aspx.cs:28
   System.Web.UI.Control.OnLoad(EventArgs e)
   System.Web.UI.Control.LoadRecursive()
   System.Web.UI.Page.ProcessRequestMain() 

解决方案 »

  1.   

    SeekOrigin.Begin超过了流的大小
    调试下,看看
      

  2.   

    改成如下:
    string path = Server.MapPath("")+"\\1.sql";
    FileStream   fs=new   FileStream(path,FileMode.Open,FileAccess.Read);  
    StreamReader   br   =   new   StreamReader(fs, Encoding.UTF8); //可根据1.sql编码格式自己调整编码  
    //br.BaseStream.Seek(0,   SeekOrigin.Begin);
    string   s   =   br.ReadToEnd();