我正在逐行读取文件,并且希望能够通过调用method重新启动读取Rewind()。
Rewind()
我如何操纵我System.IO.StreamReader和/或其底层System.IO.FileStream以重新开始阅读文件?
System.IO.StreamReader
System.IO.FileStream
我有个聪明的主意,可以FileStream.Seek(long, SeekOffset)在文件中四处移动,但是包围起来没有任何效果System.IO.StreamReader。我可以Close()重新分配信息流和读者参考,但我希望有更好的方法。
FileStream.Seek(long, SeekOffset)
Close()
你需要寻求流,像你这样,然后调用DiscardBufferedData上StreamReader。此处的文档:
DiscardBufferedData
StreamReader
编辑:添加代码示例:
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