Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#1

TFileStream.Write langsam, wenn man nur 1 Zeichen schreibt?

  Alt 4. Jan 2017, 18:36
Ich schlage mich gerade mit einem TFileStream herum und merke, dass der doch recht langsam ist, wenn man
(Beispiel) 0 bis X-Tausend-Mal nur ein Zeichen schreibt.

Ich möchte gerne X-Mal ein Zeichen in eine Datei schreiben. X kann hier 0 bis mehrere Tausend Mal sein.
Ich dachte erst, ich verwende den Buffer. Aber bei einem Zeichen pro Aufruf ist das ja total sinnlos.

Hätte hier jemand eine bessere Idee?

Delphi-Quellcode:
aFileStream := TFileStream.Create('C:\test.txt', fmCreate or fmOpenWrite);

try
 for j := 0 to 14999 do
  begin
   sTmp := 'X';
   // aFileStream.WriteBuffer(Pointer(sTmp)^, Length(sTmp));
   aFileStream.Write(PChar(sTmp)^, Length(sTmp));
 end;
finally
 aFileStream.Free;
end;
Meine Idee wäre, jeweils XYZ Zeichen zu sammeln, in einen String schreiben und diesen dann mit dem FileStream schreiben. Aber ist das sinnvoll?

Geändert von a.def ( 4. Jan 2017 um 18:38 Uhr)
  Mit Zitat antworten Zitat