sr.BaseStream.Seek(readlocation, SeekOrigin.Begin);
怎用BaseStream.Seek只读取20个字节?
注:1.原来txt文本中有很多字节
    2.需要的字节是处在中间位置
   

解决方案 »

  1.   

    可以用FileStream.Read(byte[]buffer,int offset,int count)读取
    FileStream fs=new FileStream(yourPath);
    byte[]buffer=new byte[20];
    fs.Read(buffer,readlocation,20);
      

  2.   

    Seek方法只是把流的当前位置设置为指定值吧
      

  3.   

    嗯,这样是可以,但这样可以把读出来的值赋值给指定的字符串数组吗?
    原来用seek时,读一行就赋值给一个seekpath[i],下面是我的源代码string str = sr.ReadLine(); 
    while (str != null)
     {  
      seekpath[i] = str;     
      str = sr.ReadLine();
      i++;
     }  
      

  4.   

    不建议按照字节读取文本文件。因为在ansi编码下,一个字符可能1个字节,也可能2个字节,你这么读,接头处可能出现乱码。
      

  5.   

    //把文件指针定位到:起始位置向后的20个字节处。
    sr.BaseStream.Seek(20, SeekOrigin.Begin);
    sr.read...
    就行了