C#读取文件的任意行,求解,不要告诉我一行一行的读,给一个计数器,如果文件有10w行,我想那个效率会很低的,

解决方案 »

  1.   

    很简单先一次全部读出来,然后string.split("\r\n");
    第n行数据就保存在第n个string数组里
      

  2.   

    ls的方法还不是全读出来了嘛?
    我觉得如果要定位到第n行就只能一行一行来了
                ----------我目前只能这么做了
      

  3.   

    stream都是顺序的,你只能捯到想要的地方
      

  4.   

    如果不建立索引,也只能去遍历取了
    考虑是否能像数据库里弄一个聚集索引就好了,在物理上顺序排序
    参考 lucene.net的索引的建立(二): 建立Index的过程
    这个东西很强大,你可以去搜索相关资料
      

  5.   

    利用DBMS_UTILITY.GET_HASH_VALUE 给文本建立索引
      

  6.   


    FileStream sFile = new FileStream("", FileMode.Open);
                sFile.Seek(n, SeekOrigin.Begin);//
                sFile.Read()//
      

  7.   


     private void button1_Click(object sender, EventArgs e)
            {
                StreamReader sr = new StreamReader("G:\\wcq.txt");
                ArrayList arr = new ArrayList ();
                while (!sr.EndOfStream)
                {
                    arr.Add(sr.ReadLine ());
                }
                int i = Convert.ToInt32(textBox1 .Text );
                MessageBox.Show(arr[i].ToString());
                sr.Close();
                sr.Dispose();
            }