在delphi中加载大量文本文件数据的最佳方法是什么?是否有任何组件可以加载文本文件超高速?
假设我有一个包含数据库的文本文件,并以修复长度格式存储.
它包含150个字段,每个字段至少50个字符.
我需要将它加载到内存中
2.我需要解析它并可能将它存储在memdataset中进行处理
我的问题:
1.如果我使用TStringList.loadFromFile方法就足够了吗?
2.还有其他更好的组件来操纵文本文件吗?
3.我应该使用textfile中的低级读数吗?
先感谢您.
解决方法
TStringList永远不是处理大量文本的最佳方式,但它是最简单的.如果您手上有小文件,则可以使用TStringList而不会出现问题.即使您有大文件(不是大文件),您也可以使用TStringList实现您的算法版本以进行测试,因为它简单易懂.
如果您的文件很大,因为您可能将它们称为“数据库”,那么您需要研究使您能够从数据库中只读取所需内容的替代技术.调查:
> TFileStream
>内存映射文件.
不要看Delphi中仍然可用的旧的“文件”API,它们已经很老了.
我不打算详细介绍如何使用这些方法访问文本,因为我们最近在SO上有两个类似的问题:
How Can I Efficiently Read The FIrst Few Lines of Many Files in Delphi
和
Fast Search to see if a String Exists in Large Files with Delphi