使用TStringList加载庞大的文本文件是Delphi中最好的方法吗?

Wis*_*new 7 delphi text-files

在delphi中加载大文本文件数据的最佳方法是什么?是否有任何组件可以加载文本文件超高速?

假设我有一个包含数据库的文本文件,并以修复长度格式存储.它包含150个字段,每个字段至少50个字符.1.我需要将其加载到内存2.我需要解析它并可能将其存储在memdataset中进行处理

我的问题:1.如果我使用TStringList.loadFromFile方法就足够了吗?2.还有其他更好的组件来操作文本文件吗?3.我应该使用文本文件中的低级读数吗?

先感谢您.

Cos*_*und 11

TStringList永远不是处理大量文本的最佳方式,但它是最简单的.如果您手上有小文件,则可以使用TStringList而不会出现问题.即使您有大文件(不是大文件),您也可以使用TStringList实现您的算法版本以进行测试,因为它简单易懂.

如果您的文件很大,因为它们可能是因为您将它们称为"数据库",您需要研究使您能够从数据库中只读取所需内容的替代技术.调查:

  • TFileStream的
  • 内存映射文件.

不要看Delphi中仍然可用的旧的"基于文件"的API,它们已经很老了.

我不打算详细介绍如何使用这些方法访问文本,因为我们最近在SO上有两个类似的问题:

如何有效地阅读Delphi中许多文件的最初几行

使用Delphi快速搜索大型文件中是否存在字符串