C#中一个StreamReader已经ReadToEnd了,想要重新再读一遍,怎么办
发现ReadToEnd之后再ReadLine就已经读不出字来了,读的都是空格,想要从头再读取一边应该怎么办呢?我新建了一个StreamReader,让它等于之前那个,但是...
发现ReadToEnd之后再ReadLine就已经读不出字来了,读的都是空格,想要从头再读取一边应该怎么办呢?
我新建了一个StreamReader,让它等于之前那个,但是当第一个ReadToEnd之后,对第二个使用ReadLine,居然也读不出字!
如果先对第二个使用一次ReadLine,这时候再对第一个使用ReadToEnd,显示的结果里第一行就没有了! 展开
我新建了一个StreamReader,让它等于之前那个,但是当第一个ReadToEnd之后,对第二个使用ReadLine,居然也读不出字!
如果先对第二个使用一次ReadLine,这时候再对第一个使用ReadToEnd,显示的结果里第一行就没有了! 展开
4个回答
展开全部
//
String totalLines = streamReader.ReadToEnd();
// 重置文件指针至文件头.
streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
//
String firstLine = streamReader.ReadLine();
不要不停的打开文件, 不划算.
String totalLines = streamReader.ReadToEnd();
// 重置文件指针至文件头.
streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
//
String firstLine = streamReader.ReadLine();
不要不停的打开文件, 不划算.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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());
}
还是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());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重新打开一次就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就得重新获取一下呗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询