我有一个文本文件f1,共1000多行,每行是一个很长的字符串,有几万个字符。现在程序需要在该文件中读第N行,把该行的数据读入到变量Mystr中,我写的读入代码如下,可执行效率太低,要读好长时间才行,请教各位高手,如何才能快速读入数据?for k:=1 to N do readln(f1,Mystr);

解决方案 »

  1.   

    试试先把文件导到STringList,再读StringList[n]出来
      

  2.   

    基本的文件操作效率最高
    FileOpen
    如果每行定长的话
    Seek(LineLength * (N -1) + 1)到要读取的位置
    从此位置读取Read(Buf, LineLength)定长的数据段
    这种操作文件的方式的结果是加载文件的某一部分到内存块~~
      

  3.   

    CreateFileMapping....用文件映射很快
      

  4.   

    同意: WGYKING(修罗是谁?!) ( ) 信誉:102
      

  5.   

    http://community.csdn.net/Expert/topic/3391/3391809.xml?temp=.5478937