该文件是UTF8文本文件。
每个字符都有不同的字节数,每行都有不同的字符数。
vb.net是否有行号码表到字节位置功能或类似的东西?
此后如何阅读?
答案 0 :(得分:1)
StreamReader
类是逐行读取文件的典型选择。它不保留文件中读取的任何历史记录,因此不知道最后一行的结束位置或下一行的位置。请求时(通过ReadLine
),它只会处理字符,直到它到达新的行字符串或文件的末尾。
我不知道StreamReader的实际实现,但我认为它使用Encoding
类来处理多字节编码,并且只维护一个可能预读取数据的小缓冲区以提高读取性能(读取块优于现在需要的10个字节)。任何其他缓冲区(例如当前行中的字符)都是需要它们的ReadLine
函数的本地语言。
如果您需要随机搜索,则需要使用BaseStream
属性为自己生成一个行启动表,然后将该流搜索到所需行的开头。从那里开始,你应该像往常一样使用ReadLine
。