一尘不染

将StreamReader返回到开始

c#

我正在逐行读取文件,并且希望能够通过调用method重新启动读取Rewind()

我如何操纵我System.IO.StreamReader和/或其底层System.IO.FileStream以重新开始阅读文件?

我有个聪明的主意,可以FileStream.Seek(long, SeekOffset)在文件中四处移动,但是包围起来没有任何效果System.IO.StreamReader。我可以Close()重新分配信息流和读者参考,但我希望有更好的方法。


阅读 609

收藏
2020-05-19

共1个答案

一尘不染

你需要寻求流,像你这样,然后调用DiscardBufferedDataStreamReader此处的文档:

编辑:添加代码示例:

Stream s = new MemoryStream();
StreamReader sr = new StreamReader(s);
// later... after we read stuff
s.Position = 0;
sr.DiscardBufferedData();        // reader now reading from position 0
2020-05-19