0
A
回答
1
StreamReader
类是逐行读取文件的典型选择。它不保留它在文件中读取的任何历史记录,因此不知道最后一行的结尾或下一行的位置。当请求时(通过ReadLine
),它只是处理字符,直到它到达新的行字符串或文件的结尾。
我不知道StreamReader的实际实现,但我会假设它使用Encoding
类来处理多字节编码,并且只维护一个可能预读取数据的小缓冲区以提高读取性能(读取块比现在需要的10个字节更好)。任何其他缓冲区(例如当前行中的字符)都会使当地人像ReadLine
那样需要它们。
如果您需要随机查找,则需要使用BaseStream
属性为自己生成行起始表,然后将该流找到所需行的开头。从那里,你应该可以照常使用ReadLine
。
我注意到streamreader没有偏移属性。这是基地流踢什么地方?是的,我会需要线开始表我想 – 2012-04-04 05:25:01
+1。这是东西。我知道了。 – 2012-04-04 05:56:13