问个比较菜的问题,谢谢给与答复~
我对文本进行读操作!
问题:
StreamReader sr = new StreamReader(fs)
//定位于文本的开始 偏移量
sr.BaseStream.seek(0,SeekOrigin.Begin)
疑问:
seek 中的“0”是偏移量,它是怎么计算的呢?我的文本内容:
1
2
3
4
如果从3开始读,该怎么书写?

解决方案 »

  1.   

    这个偏移量是字节数,对于你的文本文件,在Windows上,回车是2个字节(13,10),所以,在3之前,有6个字节,sr.BaseStream.seek(6,SeekOrigin.Begin)其实,混合字节数和文字不是很好的方法
      

  2.   

    谢谢你的回复,我在做书本上的例题,所以就想仔细研究一下~sr.BaseStream.seek(0,SeekOrigin.End) 这个方法 还是从 3 开始读取~这里 0 应该改称什么?这句话是不是把文件的末尾作为一个参考点?
      

  3.   

    再一次,这么处理文件的方法不是很好,取决于在文件结束之前到3这个字符有多少个字节,如果文件是经常改动的,在计算前你需要读取这些字节,这好像。如果你要通过文本处理,那么只好全部读出来,改动后(增减),然后再全部写回去另外一个方法就是用字节的方法,每读一个字节,检查是否你要的字符(如果是中文的话,你还需要注意中文是由多个字节组成的,还有encoding的问题),然后
      

  4.   

    谢谢你的回复,我大致了解了~ 只是没有学到别的读取方法,所以就对 seek 深究起来了~感谢~