Delphi 缓冲文件流-TBufferedFileStream TFileStream 性能测试
本文整理自网络,侵删。

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;
相关阅读 >>
Delphi 当前日期的加减运算
Delphi 查找字符串并删除该字符串
Delphi 数据模块池
阻止删除文件(文件占坑)的Delphi代码
图解qq群如何快速找到自己想要的Delphi资源
Delphi中如何提高listview删除item的速度
Delphi 查询进程名进程id/进程路径 父进程/子进程
Delphi 中 findwindow 和 findwindowex 的语法和用法
Delphi 动态设置屏幕分辨率
Delphi post数据与对应的接收方式
更多相关阅读请进入《Delphi》频道 >>
猜你喜欢
联络方式:
400-123-789
邮箱:xiachao@163.com
Q Q:12345678