Einzelnen Beitrag anzeigen

Pfaffe2

Registriert seit: 11. Feb 2010
23 Beiträge
 
Delphi XE Professional
 
#1

UTF8 - Große csv-Datei Zeilenweise lesen

  Alt 30. Mär 2010, 08:20
Delphi 2009

Früher konnte man mit folgender Varaiante eine Textdatei zeilenweise lesen, jedoch funktioniert das nicht mit UTF8 kodierten Dateien:
Delphi-Quellcode:
F: TextFile;
lStr: string;
...
AssignFile(F, OpenDialog1.Filename);
Reset(F);
while not Eof(F) do begin
  Readln(F, lStr);
  Do_Auswerten(lStr);
end;
OK mit Hilfe einer Stringliste kann ich die UTF8 Daten laden und auswerten:
Delphi-Quellcode:
lStringList:= TStringList.create;
try
  lStringList.LoadFromFile(OpenDialog1.FileName, TEncoding.UTF8);
  for i:= 0 to StringList.count-1 do begin
    Do_Auswerten(lStringList[i]);
  end;
finally
  lStringList.free
end;
Diese Variante hat jedoch den Nachteil, dass die Datei erstmal komplett in den RAM geladen werden muss.

Gibt es auch eine Variante eine UTF8-Datei zeilenweise auszuwerten ohne sie komplett in den RAM zu laden?

[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat