如何在C#中以编程方式在zip文件中找到ZipEntry?

时间:2011-10-03 20:56:36

标签: c# zip

我无法使用第三方软件/库并拥有一个我必须在WPF应用程序中读取的zip文件并获取二进制数据(代表图像)。该zip文件包含大约7000个图像,我必须通过其名称找到正确的图像。我怎样才能获得ZipEntry(用Java模拟)?

http://download.oracle.com/javase/1.4.2/docs/api/java/util/zip/ZipEntry.html

此致

罗马

2 个答案:

答案 0 :(得分:3)

  

我不能使用第三方软件/库

很抱歉,但这是一个荒谬的限制。如果是这种情况,你将不得不与BCL中的任何东西斗争来处理拉链。相信我,没有多少。 System.IO.Packaging namespace可能是一个好的开始。如果您不使用.NET 4.0,那么,我向您表示哀悼。 zip specification可能是一个很好的阅读(对我来说,事实上这不是一个好的读物)。

我可能会使用dotnetzipSharpZipLib或其他东西,并且有足够的时间来解决一些现实世界的问题,而不是那些已经解决的问题。

答案 1 :(得分:0)

这个问题已经过时了,所以答案很清楚。

自2012年底以来的最佳答案是:使用.NET 4.5以及包含的System.IO.CompressionSystem.IO.Compression.ZipArchive命名空间类。

您在互联网上搜索时收到的众多示例链接之一: http://www.codeproject.com/Articles/381661/Creating-Zip-Files-Easily-in-NET

使用Roslyn,整个框架库作为开源发布,因此AFAI理解它,您可以自由地从4.5类中提取代码(因为它应该不是特定于系统的),并将其用作早期的库.NET框架。也许这会比使用其他类提供一些许可优势 - 但这必须由您进行分析。