c# – Ionic.Zip分裂拉链无法提取
作者:互联网
我用Ionic.Zip压缩一个目录并将其拆分成几个文件.结果是一堆名为myfile.zip,myfile.z01,myfile.z02,…的文件.
当我使用Windows资源管理器查看zip-File时,我可以看到文件列表.
但是当我尝试使用Windows资源管理器提取存档时,我收到一条消息相同的卷不能同时用作源和目标
当我用7zip打开zipfile时,我得到消息文件myfile.zip无法作为存档打开
创建和提取单个zip-archive工作正常.
这是代码,我使用Ionic.Zip创建zip存档
using (ZipFile zip = new ZipFile())
{
//zip.AlternateEncoding = System.Text.Encoding.UTF8;
zip.AddDirectory(sourceDirectory);
//zip.MaxOutputSegmentSize = 0; //Single file
zip.MaxOutputSegmentSize = 1024 * 1024 * 8; //Splitt up into 8 MB pieces
//zip.Password = zipPassword;
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.None;
zip.CompressionMethod = CompressionMethod.None;
zip.Save(zipFilePath);
segmentsCreated = zip.NumberOfSegmentsForMostRecentSave;
}
return segmentsCreated;
顺便说一句,我尝试了几种CompressionLevels,CompressionMethods的组合,有和没有密码,……没有变化:(
更新1:
开箱工程:
using (ZipFile zip = ZipFile.Read(zipFilePath))
{
zip.Password = zipPassword;
zip.ExtractAll(targetDirectory, ExtractExistingFileAction.OverwriteSilently);
}
解决方法:
这是一个已知的问题.
您无法使用Windows资源管理器打开部分zip文件.
使用WinRar.
标签:c,zip,7zip 来源: https://codeday.me/bug/20190711/1430301.html