吴
吴剑明
Unregistered / Unconfirmed
GUEST, unregistred user!
ZLIB的解压好奇怪,如果用COPYFROM解压,得先知道压缩前的文件大小,我试图在压缩时把
文件大小写到流里,结果在解压时无法读出来。:(
看了一些资料,有人用这种方法解压:
files := TMemoryStream.Create;
outs := TMemoryStream.Create;
files.LoadFromFile('c:/a.z');
deStream := TDeCompressionStream.Create(files);
size := deStream.Read(buf,1024);
while size >0 do
begin
outs.Write(buf,size);
size := deStream.Read(buf,1024); //循环到第三次,在这里死掉了。
end;
outs.SaveToFile('c:/b.txt');
怎么回事?
文件大小写到流里,结果在解压时无法读出来。:(
看了一些资料,有人用这种方法解压:
files := TMemoryStream.Create;
outs := TMemoryStream.Create;
files.LoadFromFile('c:/a.z');
deStream := TDeCompressionStream.Create(files);
size := deStream.Read(buf,1024);
while size >0 do
begin
outs.Write(buf,size);
size := deStream.Read(buf,1024); //循环到第三次,在这里死掉了。
end;
outs.SaveToFile('c:/b.txt');
怎么回事?