如何给文件文件定位取值行数AAAAAAA
BBBBBBB
CCCCCCC
DDDDDD
GGGGGG
hhhhhhFF
FFFFFFFF每一行的长度都是一样的
我输入两个数,2,5取出来2-5行的数据
BBBBBBB
CCCCCCC
DDDDDD
GGGGGG1-3就取出1-3行的数据AAAAA
BBBBB
CCCCC
不知用seek怎么定位,谢谢

解决方案 »

  1.   

    //1-3就取出1-3行的数据
    FileStream myFileStream1 = new FileStream("Names.txt", FileMode.OpenOrCreate, FileAccess.Read);
    myFileStream1.Seek(0, SeekOrigin.Begin);
    Byte[] myByteArray = new Byte[5*3];
    myFileStream1.Read(myByteArray,0,5*3);
      

  2.   

    2-5行是不是比方每一行长度为5.myFileStream1.Seek((5*2), SeekOrigin.Begin);
    Byte[] myByteArray = new Byte[5*5];
    myFileStream1.Read(myByteArray,0,5*5);依此类推,问一个笨笨的问题,我如何把mybytearray放在arraylist中呢,嘿
      

  3.   

    我处理过类似的文件问题。
    一般我是open 这个file
    然后通过readline来 一行行的读取。这样操作起来很容易的。
      

  4.   

    我的文件很大呀,十几万条,我不可能一个线程就打开一次文件全部读出,并且是同时读取这个文件,只是行数不同,我现能读到string sText = Encoding.Default.GetString(myByteArray);
    string.用console.writeline出来是没有问题但我要把他放到数组中或都arraylist中就不知怎么放
    AAAAAA\r\nBBBBBB\r\nCCCCCCC\r\nstring[] slist =sText.Split('/r/n');
    我用这来分开,但好像'/r/n'这点有问题,希望达人能不能帮帮怎么回事,应该怎么放
      

  5.   

    有见展,我用正则把他替换成AAAAAA,BBBBB,CCCCCCCCCC,等
    我现在怎么放在arraylist中呢,我只能放在string[]中,但我不能删除,好像没有这个方法
      

  6.   

    楼主几种方法中,都并不能完全满足楼主的要求。
    对于Seek方法而言,Seek的长度是流中字符数,并非字节数。
    对于中文或英文混合的情况,很容易出错。对于ReadLine的方法对于不固定长度来说非常方便,但对于定长来说,并非最佳方式,当然如果考虑通用性,我想ReadLine是最好方法。
      

  7.   

    string[] slist =sText.Split('/r/n');有这样写法的吗?应该是:
    string[] slist =sText.Split("\r\n");