if (FileUpload1.PostedFile.FileName != "")
        {
            FilePath = FileUpload1.PostedFile.FileName;
            fileExtName = FilePath.Substring(FilePath.LastIndexOf(".") + 1, 3);            if (fileExtName != "txt" && fileExtName != "TXT")
            {
                Response.Write("请选择文本文件");
            }
            else
            {
                StreamReader fileStream = new StreamReader(FilePath, Encoding.Default);
                txtContent.Text = fileStream.ReadToEnd();
                string aaa = txtContent.Text;
                aaa = Regex.Replace(aaa,"\r\n",";");
                
                Response.Write(aaa);
                fileStream.Close();
            }
        }以上便是代码,现在我把他显示在一个textBox上,其实我是想把文本里的回车替换掉,然后加;号输出,可是直接string aaa =fileStream.ReadToEnd();没有反应,我只好用一个txtContent.Text 了,请问这是什么问题?怎么解决?

解决方案 »

  1.   

     StreamReader fileStream = new StreamReader(FilePath, Encoding.Default);
    =======
    这是不对的.这个FilePath是客户端的.
      

  2.   

     StreamReader fileStream = new StreamReader(this.FileUpload1.PostedFile.InputStream, Encoding.Default);现在因为是同一台计算机,所以没有出错.但要修改.
    另一个问题. 你先用 txtContent.Text = fileStream.ReadToEnd();此时流的位置已经于末尾.
     然后再用然后用aa= fileStream.ReadToEnd();
    当然读不到数据.如果要读两次,第二次读之前先 fileStream.BaseStream.Position = 0;然后再读.