寻找TextFile

Mih*_*ela 6 delphi text-files

我正在使用非常大的文本文件,2GB甚至更多.我想有一个类似Seek()的函数.有没有人这样做过?加载到TStringList是不可能的.也使用无类型文件.现在我正在使用readLn,但这持续时间过长.谢谢.

Eug*_*its 13

将文件按片段映射到内存(CreateFileMapping/MapViewOfFile),然后扫描映射的内存并构建索引 - 每行开始的位置列表.然后通过获取文件中第N行的位置并寻找此位置来执行搜索操作.然后使用TFileStream对文件执行随机访问,或者,如果您只读取文件,则可以使用文件映射进行随机访问 - 这可能比使用TFileStream并行文件映射更快.