【发布时间】:2015-01-27 09:53:55
【问题描述】:
我正在使用以下代码从 SevenZIP 存档中提取文件。它适用于单卷存档,但不适用于多卷。
procedure TMyClass.ExtractArchive(AInputFile:String;AOutputDir:String);
var
LArchive:TJcl7zDecompressArchive;
begin
LArchive:=TJcl7zDecompressArchive.Create(AInputFile);
try
LArchive.OnProgress:=ExtractProgress;
LArchive.ListFiles();
try
LArchive.ExtractAll(AOutputDir);
except
on e:Exception do
LogError(e);
end;
finally
LArchive.Free();
end;
end;
SevenZip 的卷似乎只是分成两半的文件(与 RAR 和 ZIP 档案相反)。我是否必须自己手动准备组合流(所有卷为一个)?还是 JCL 会以某种方式自动处理?
【问题讨论】: