Habe das ganze mit TStreamReader gelöst.
Ich durchsuche viele Logfiles mit unterschiedlicher Dateigröße.
Wenn die Datei >= 1073741824 Bytes ist verwende ich den TStreamReader,
ansonsten die TStringList, welche wesentlich schneller ist.
hier mein Codeausschnitt
Delphi-Quellcode:
var
StreamReader : TStreamReader;
sLine : string;
iLine : integer;
begin
try
StreamReader := TStreamReader.Create(LogFileName);
iLine := 0;
while not StreamReader.EndOfStream do begin
Inc(iLine);
sLine := StreamReader.ReadLine;
// ..
// ..
// ..
end;
finally
FreeAndNil(StreamReader);
end;
end;