解壓到硬盤再讀進來耽誤時間。
var
LZip: TZipFile;
LMem: TMemoryStream;
LBytes: TBytes;
begin
LZip := TZipFile.Create;
try
LMem := TMemoryStream.Create;
try
LMem.LoadFromFile('xxxx.zip'); // 演示加載到內存流
LMem.Position := 0;
// 這里打開流
LZip.Open(LMem, zmRead);
// 讀取第一個,讀出來的就是被解壓的
LZip.Read(0, LBytes);
finally
LMem.Free;
end;
finally
LZip.Free;
end;
系統自帶的沒用過,就用過第三方的。
ZipForge是可視化的控件,非常簡單易用,看看源代碼就能學會。
JCL是運行庫,里面有目前所有還活着的壓縮格式的解壓和壓縮庫,都支持內存流操作。
具體怎么用,最好自己去學習一下,增加一下自己的能力。
我用的ZipForge,可以用Stream方式直接讀取zip中某個文件
http://bbs.2ccc.com/topic.asp?topicid=527880
