相关疑难解决方法(0)

使用C#和System.IO.Packaging以编程方式从Zip存档中提取文件

我有一堆ZIP文件,迫切需要一些分层重组和提取.目前我能做的是创建目录结构并将zip文件移动到正确的位置.我缺少的神秘奶酪是从ZIP档案中提取文件的部分.

我已经在ZipArchive课堂上看过MSDN文章并且理解它们很合理.我也看过VBScript的提取方法.这不是一个复杂的类,因此提取东西应该非常简单.事实上,它"主要"起作用.我已将下面的当前代码包含在内以供参考.

 using (ZipPackage package = (ZipPackage)Package.Open(@"..\..\test.zip", FileMode.Open, FileAccess.Read))
 {
    PackagePartCollection packageParts = package.GetParts();
    foreach (PackageRelationship relation in packageParts)
    {
       //Do Stuff but never gets here since packageParts is empty.
    }
 }
Run Code Online (Sandbox Code Playgroud)

这个问题似乎存在于某个地方GetParts(或者就任何事情而言).看来打开的包是空的.深入挖掘调试器显示私有成员_zipArchive显示它实际上有部分.具有正确名称和一切的零件.为什么GetParts函数不能检索它们?我试过向ZipArchive开放,但没有帮助.哎呀.

c# zip system.io.packaging

47
推荐指数
5
解决办法
7万
查看次数

支持7zip(LZMA)的C#免费压缩库

我有一个程序(用C#编写)直接读取/写入数据(没有服务器的直接文件访问)到firebird数据库文件.为了更好的交换,我希望(un)在导入/导出时压缩它们,以便通过互联网进行更好的交换,而无需外部程序来(不)压缩它们.

我知道#ziplib支持Zip,GZip,Tar和BZip2.

你知道C#还有哪些免费的压缩库?是否有支持LZMA的.NET库,因此我可以读/写".7z"文件?

c# compression 7zip lzma

18
推荐指数
3
解决办法
4万
查看次数

标签 统计

c# ×2

7zip ×1

compression ×1

lzma ×1

system.io.packaging ×1

zip ×1