本人想读取一行文本,然后返回Position下标; 用FIleStream和StreamReader后,返回的下标不标准,所以就希望只用FileStream怎么才能读取一行数据,谢谢.
解决方案
70
确实
那只能用StreamReader.ReadBlock读出一部分数据
找到换行符
然后结合Encoding来计算剩余的字节数就能确定位置了
另外假如文本本来就是utf8或ascii之类的编码,直接找0xa就行了
20
StreamReader.ReadLine
都不知道楼猪搞那么多干嘛,逐行读取文本,不就是ReadLine和ReadAllLines吗,计算那个position有啥意义?非要获得这个值,直接把每行的字符数目累加不就得到了吗。
position,偏移量?那是二进制文件的指针位移才用到吧。
10
假如有分行,那么直接File.ReadLine就可以一行行读取,假如没分行,那么应该用byte[]方式来一段段读取