我使用标准的FindFirst / FindNext方法,这非常有效.上面显示的584个文件可在几秒钟内找到并显示.
我现在要做的是在显示屏上添加两列,显示每个文件中包含的“Source”和“Version”.此信息通常位于每个文件的前10行内,如下所示:
1 SOUR FTM2 VERS Family Tree Maker (20.0.0.368)
现在我自己解析这个问题没有问题,这不是我要问的问题.
我需要帮助的只是如何最快速地从这些文件加载前10行,以便我可以解析它们.
我试图做一个StringList.LoadFromfile,但加载大文件需要花费太多时间,例如1 MB以上的文件.
由于我只需要前10行左右,我最好如何获得它们?
我正在使用Delphi 2009,我的输入文件可能是也可能不是Unicode,所以这需要适用于任何编码.
跟进:谢谢Antonio,
我最终做了这个工作正常:
var CurfileStream: TStream; Buffer: TBytes; Value: string; EnCoding: TEnCoding;try CurfileStream := TfileStream.Create(folder + filename,fmOpenRead); SetLength(Buffer,256); CurfileStream.Read(Buffer[0],256); TEnCoding.GetBufferEnCoding(Buffer,EnCoding); Value := EnCoding.GetString(Buffer); ... (parse through Value to get what I want) ...finally CurfileStream.Free;end;解决方法 使用TfileStream并使用Read方法读取所需的字节数.以下是读取位图信息的示例,该位图信息也存储在文件的开头.
http://www.delphidabbler.com/tips/19
总结以上是内存溢出为你收集整理的如何有效地阅读Delphi中许多文件的最初几行全部内容,希望文章能够帮你解决如何有效地阅读Delphi中许多文件的最初几行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)