我想从使用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();
}