C#中一个StreamReader已经ReadToEnd了,想要重新再读一遍,怎么办

发现ReadToEnd之后再ReadLine就已经读不出字来了,读的都是空格,想要从头再读取一边应该怎么办呢?我新建了一个StreamReader,让它等于之前那个,但是... 发现ReadToEnd之后再ReadLine就已经读不出字来了,读的都是空格,想要从头再读取一边应该怎么办呢?
我新建了一个StreamReader,让它等于之前那个,但是当第一个ReadToEnd之后,对第二个使用ReadLine,居然也读不出字!
如果先对第二个使用一次ReadLine,这时候再对第一个使用ReadToEnd,显示的结果里第一行就没有了!
展开
 我来答
StonePicker
2009-09-03
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
//
String totalLines = streamReader.ReadToEnd();
// 重置文件指针至文件头.
streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
//
String firstLine = streamReader.ReadLine();

不要不停的打开文件, 不划算.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2009-09-02 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1407万
展开全部
StreamReader等于的时候是将自己传过去的,这两个变量指示同一样东西,当然一起readtoend、readLine
还是Close以后重新new吧
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(open.FileName, Encoding.GetEncoding("GB2312"));
richTextBox1.Text = sr.ReadToEnd();
sr.Close();
sr = new StreamReader(open.FileName, Encoding.GetEncoding("GB2312"));
MessageBox.Show(sr.ReadLine());
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangshuaisupin
2009-09-02 · TA获得超过1884个赞
知道小有建树答主
回答量:805
采纳率:100%
帮助的人:1241万
展开全部
重新打开一次就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你虎呀你
2009-09-02 · TA获得超过305个赞
知道答主
回答量:163
采纳率:0%
帮助的人:69.4万
展开全部
那就得重新获取一下呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式