delphi 压缩和解压文件

需要引入system.ZLib包

procedure TFormMain1.Button25Click(Sender: TObject);   //压缩
var
  LInput, LOutput: TFileStream;
  LZip: TZCompressionStream;
begin
  inherited;
  LInput := TFileStream.Create(Edit2.Text, fmOpenRead);   //需要压缩的文件
  LOutput := TFileStream.Create(Edit3.Text + '.zip', fmCreate);  //压缩完成的文件
  LZip := TZCompressionStream.Create(LOutput);

  LZip.CopyFrom(LInput, LInput.Size);

  LZip.Free;
  LInput.Free;
  LOutput.Free;

end;

procedure TFormMain1.Button26Click(Sender: TObject);   //解压
var
  LInput, LOutput: TFileStream;
  LUnZip: TZDecompressionStream;

begin
  { Create the Input, Output, and Decompressed streams. }
  LInput := TFileStream.Create(Edit2.Text, fmOpenRead);  //解压的文件
  LOutput := TFileStream.Create(ChangeFileExt(Edit3.Text, '.txt'), fmCreate);  //解压后的文件
  LUnZip := TZDecompressionStream.Create(LInput);

  { Decompress data. }
  LOutput.CopyFrom(LUnZip, 0);

  { Free the streams. }
  LUnZip.Free;
  LInput.Free;
  LOutput.Free;
end;

 

转载于:https://www.cnblogs.com/yangxuming/p/11429534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值