读书人

带Cache的FileStream解决办法

发布时间: 2012-03-09 16:54:57 作者: rapoo

带Cache的FileStream
当创建一个TFileStream并顺序读取的时候,如果每次读取的字节比较少时,效率是相当低的。大家可以做一个测试:

var
aStream: TStream;
B: Byte;
T: TDateTime;
begin
if not OpenDialog1.Execute then
Exit;
Caption := '';
Application.ProcessMessages;
T := Now;
aStream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite);
try
repeat
until aStream.Read(B, 1) = 0;
finally
aStream.Free;
end;
Caption := TimeToStr(Now - T);
end;

在我的笔记本上,处理一个3M的文件就用了12秒。

加入缓存处理后,用时不到0.2秒。

缓存处理的代码内容请参见我的博客: http://blog.csdn.net/bamboocaep



[解决办法]
楼主,好人啊,多谢分享。
一定关注博客。
[解决办法]
谢谢分享

读书人网 >.NET

热点推荐