我这个文本500兆,直接load,估计会死。
文本带分隔符,且每行不是定长的。
我想逐行读,逐行处理。
或几百行一读。

解决方案 »

  1.   

    CreateFileMapping
    MappingViewOfFile
    然后把它当内存直接处理
      

  2.   

    500兆的大文本,这样直接load都会死掉的。 
    是什么文本啊这么大,分开几个不行吗
      

  3.   

    FileOpen
    FileSeek
    FileReadvar
      iFileHandle, iFileLength, iBytesRead: Integer;
      Buffer: PChar;iFileHandle := FileOpen(FFileName, fmOpenRead);
    iFileLength := FileSeek(iFileHandle, 0, 2); // 文件长度
    iBytesRead := FileRead(iFileHandle, Buffer^, BUFFER_SIZE); //读入Buffer
      

  4.   

    var F: TEXTFile;
      sCode : string;
    begin
        AssignFile(F, _file);
        try
          Reset(F);
          while not Eof(F) do
          begin
             readln(F, sCode);
                Add(sCode);
          end;
        finally
          CloseFile(F);
        end;
    end;