请教高手:读取10MB-40MB的文本文件有什么快一些的方法?(100分)

  • 主题发起人 主题发起人 idragonet4
  • 开始时间 开始时间
I

idragonet4

Unregistered / Unconfirmed
GUEST, unregistred user!
读取10MB-40MB的文本文件有什么快一些的方法?
用Memo1.Lines.LoadFromFile觉得比较慢.
先谢谢了!

程序部分代码如下:

if FileExists(ExtractFilePath(ParamStr(0))+'temp/asa5520.txt') then
begin
Form1.Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'temp/asa5520.txt');

//##############################################################//
for i:=0 to Form1.memo1.Lines.Count-1 do
begin
if Pos('Session disconnected',Form1.Memo1.Lines)>0 then Form1.Memo2.Lines.Add(Form1.Memo1.Lines);
end;


if Form1.Memo2.Lines.Count=0 then Application.MessageBox('未找到任何有效数据.',
'提示', MB_OK + MB_ICONINFORMATION);
//##############################################################//
//这是筛选出 Session disconnected的行
 
var
fs:TFileStream;
temps:string;
...
if FileExists(ExtractFilePath(ParamStr(0))+'temp/asa5520.txt') then
begin
fs:=TFileStream.Create(ExtractFilePath(ParamStr(0))+'temp/asa5520.txt',fmOpenRead);
SetLength(temps,fs.Size);
fs.Read(temps[1],fs.Size);
Memo1.Text:=temps;
fs.Free
end;
...
 
后退
顶部