我正在阅读带有
的巨大文本文件(1.8 GB) while ((j = file.ReadLine()) != null) {...}
但是,经过一些操作后,我自己陷入困境,当我想要“撤消”最后一个ReadLine时,所以下一个ReadLine实际上会读取完全相同的行。
有什么办法吗? :)
同样的工作会在没有任何阅读的情况下“查看下一个角色”,这样我就可以根据这个角色决定是否要阅读下一行。
示例:
>1
abc
def
>2
ghi
用ReadLine()读取'def'后,我想知道下一行是否包含'>'字符或只有字母表。
非常感谢。
答案 0 :(得分:4)
对于“查看下一个字符”,请使用Peek()方法:
http://msdn.microsoft.com/en-us/library/system.io.streamreader.peek(v=VS.100).aspx
答案 1 :(得分:3)
要查看下一个字符,您可以使用方法Peek。
这将返回下一个字符而不更改文件中的位置。
答案 2 :(得分:2)
您实际需要的是finite state machine。您应该将状态设置为current is 'def', check for '>'
并在下一次迭代中执行必要的操作,而不是试图向前看下一个输入(可能存在或可能不存在或有效)。