作者:admin 来源: 日期:2020/10/11 22:29:04 人气: 标签:

uses
System.Diagnostics; // TStopwatch
procedure TForm1.btnWriteClick(Sender: TObject);
var
sw: TStreamWriter;
I: Integer;
begin
sw := TStreamWriter.Create('test.txt', False, TEncoding.UTF8);
try
sw.WriteLine('Hello world');
for I := 0 to 99999 do
sw.WriteLine('Hello ' + I.ToString);
finally
sw.Free;
end;
Memo1.Lines.Add('File written')
end;
procedure TForm1.btnReadClick(Sender: TObject);
var
FileStream: TFileStream;
Total, I: Integer;
sw: TStopWatch;
ch: Char;
begin
sw := TStopwatch.StartNew;
FileStream := TFileStream.Create('test.txt', fmOpenRead);
try
Total := 0;
while FileStream.Read(ch, 1) = 1 do
begin
if ch = #13 then
Inc(Total);
end;
Memo1.Lines.Add('Lines : ' + Total.ToString);
finally
FileStream.Free;
end;
sw.Stop;
Memo1.Lines.Add('TFileStream msec : ' + sw.ElapsedMilliseconds.ToString);
end;
procedure TForm1.btnReadBufferedClick(Sender: TObject);
var
BufFileStream: TFileStream;
Total, I: Integer;
sw: TStopWatch;
ch: Char;
begin
sw := TStopwatch.StartNew;
BufFileStream := TBufferedFileStream.Create('test.txt', fmOpenRead);
try
Total := 0;
while BufFileStream.Read(ch, 1) = 1 do
begin
if ch = #13 then
Inc(Total);
end;
Memo1.Lines.Add('Lines : ' + Total.ToString);
finally
BufFileStream.Free;
end;
sw.Stop;
Memo1.Lines.Add('TBufferedFileStream msec : ' + sw.ElapsedMilliseconds.ToString);
end;