|
用DELPHI实现文件加密压缩(10) //创建压缩输出文件流 outStream := TFileStream.create(outFIleName, fmCreate); try //[文件加密后的临时流] 压缩 ys_stream(instream,OutStream,ysbz); finally OutStream.free; instream.Free ; end; end;
//解压文件 function Tmyzip.jy_file(infileName: string;passWord:pass=''):boolean; var inStream,inistream,filestream_ok: TFileStream; { instream://解压文件名称 inistream://INI临时文件流 filestream_ok://解压OK的文件 } outStream:tmemorystream; //临时内存流 inifile:TINIFILE; //临时INI文件 FileSize:integer; //密码文件的SIZE resultvalue:boolean;//返回值
begin
try inStream := TFileStream.create(inFIleName, fmOpenRead);
try outStream := tmemorystream.create; try jy_stream(insTream,OutStream); //生成临时INI文件 inistream:=TFileStream.create(ExtractFilePath(paramstr(0))+'tmp.in_', fmCreate); try //指向存储解码信息的INTEGER型变量位置 OutStream.Seek(-sizeof(FileSize),sofromend); //读入变量信息 OutStream.ReadBuffer(FileSize,sizeof(FileSize)); //指向解码信息位置 OutStream.Seek(-(FileSize+sizeof(FileSize)),sofromend);
|