我想從使用DotNetZip庫的zip文件中提取文件。當它是單個.zip文件時,我可以提取文件。但是,當我嘗試從多卷ZIP文件(如Something.zip.0或Something.zip.1)中提取文件時,我會得到以下兩個例外:用DotNetZip打開分割Zip文件
-Exception thrown:'Ionic.Zip.BadReadException'in Ionic.Zip.dll
-Exception拋出:「Ionic.Zip.ZipException」在Ionic.Zip.dll
是否有可能爲DotNetZip閱讀這些類型的文件,或者我應該尋找到一個替代進場?我正在使用C#開發Visual Studio。
這是我如何實現我的zip文件提取的片段。
using (Ionic.Zip.ZipFile zip = Ionic.Zip.ZipFile.Read(_pathToZip))
{
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestSpeed;
foreach(Ionic.Zip.ZipEntry ze in zip)
{
string fileName = ze.FileName;
bool isThereItemToExtract = isThereMatch(fileName.ToLower(), _folderList, _fileList);
if (isThereItemToExtract)
{
string pathOfFileToExtract = (_destinationPath + "\\" + ze.FileName).Replace('/', '\\');
string pathInNewZipFile = goUpOneDirectoryRelative(ze.FileName);
ze.Extract(_destinationPath, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently);
_newZip.AddItem(pathOfFileToExtract, pathInNewZipFile);
}
}
_newZip.Save();
}