Delphi文件流内存流操作心得

1.  经过实践发现,先把文件流TFileStream独到TMemoryStream中,速度要快一点。

如果一边MemoryStream读一边写MemoryStream,例如我用需要加密解密一个文件,

不要一边从一个MemoryStream读,一边加密写到另一个MemoryStream中;最好在同一个MemoryStream中操作,即read一块,进行加密,然后seek(-n, soCurrent),然后write。

这样效率差不多要提高十倍左右。

前面用两个MemoryStream加密一个6M的文件大概需要8.x(S),而用一个MemoryStream加密的时候只需要1S!

 

2. 如果用文件流打开一个文件,再从头开始往这个文件流中写数据,注意这个写的过程是覆盖的过程。因此如果原文件比后写入的文件长的话,则会产生冗余的脏数据。为此,可以先判断文件是否存在,如果存在文件,将文件删除,然后以fmCreate模式打开文件流。如下:

 if FileExists(ParaSaveFilePath) then
      DeleteFile(ParaSaveFilePath);
 OutFs := TFileStream.Create(ParaSaveFilePath, fmCreate);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值