Hallo
DP Team,
ich habe eine Funktion die große Textdateien in 4 Dateien splittet.
Nur diese Funktion ist "sehr" langsam, Sie benötigt für eine 1,5 GB große Textdatei 102 Sekunden.
Da die Dateien die mein Programm bearbeiten soll ungefähr in der Größenordnung von 3-4 GB liegen, braucht die Funktion dafür ca 4,5 Minuten und dies ist zu lang.
Gibt es eine Möglichkeit oder eine Funktion die das wesentlich schneller machen kann?
Wichtig zu wissen ist, dass die Datei nur Zeilenweise gesplittet werden kann.
Hier der Funktionscode;
Delphi-Quellcode:
For i := 0 to 3 do
begin
AssignFile(F[i],ExtractFilePath(ParamStr(0)) + 'Test_' + IntToStr(i) + '.txt');
ReWrite(F[i]);
end;
i := 0;
AssignFile(ff,Epfad.Text);
Reset(ff);
while not eof(ff) do
begin
inc(i);
ReadLn(ff, TestText);
Case i of
1: WriteLn(F[0],TestText);
2: WriteLn(F[1],TestText);
3: WriteLn(F[2],TestText);
4: WriteLn(F[3],TestText);
end;
If i = 4 Then
i := 0;
end;
CloseFile(F[0]);
CloseFile(F[1]);
CloseFile(F[2]);
CloseFile(F[3]);
VG
Vielen Dank und Grüße