Microsoft .NET终于提供了一个通用的Zip库
2012-06-19 23:33
120 查看
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/06/Net-Zip.NET Framework与Zip文件格式间总是存在着一种不可思议的关系。在一开始,.NET提供了对Zip文件的支持,但其实现方式却是大多数人都没有意识到的。很久之前被抛弃的J#编程语言包含了Java的java.util.zip包。在2003年Ianier Munoz发表的一篇文章中介绍了如何在C#中使用J# Zip库。
.NET 2.0在这个问题上则出现了明显的倒退。那时,J#已经被开发者社区所遗忘,提供给我们的则是几乎毫无用处的IO.Compression命名空间。DeflateStream与GZipStream类只提供了单向、基于流的压缩。此外,他们还缺乏处理与多种文件档案如Zip相关的元数据的能力。
2006年,微软通过ZipPackage类提供了一个异常笨拙的处理Zip文件的API。创建该API的主要目的在于支持Open XML Paper Specification(XPS)。XPS最初被看作是与Adobe PDF文件格式进行直接竞争的一个尝试,但后来这些努力还是被放弃了。如今的XPS主要用于Windows的假脱机打印,用于替换基于GDI的WinPrint(如果打印机支持的话)。
对于.NET 4.5来说,我们终于看到了一个值得期待的用于处理Zip文件的内建API。虽然现在谈论ZipArchive类是否是DotNetZip等库的竞争者还为时尚早,但它至少向那些由于许可问题而无法使用开源库的开发者提供了一些可用的东西。Tugberk Ugurlu研究并介绍了如何使用.NET 4.5中的ZipArchive。
查看英文原文:Microsoft .NET Finally Offers a General Purpose Zip Library
.NET 2.0在这个问题上则出现了明显的倒退。那时,J#已经被开发者社区所遗忘,提供给我们的则是几乎毫无用处的IO.Compression命名空间。DeflateStream与GZipStream类只提供了单向、基于流的压缩。此外,他们还缺乏处理与多种文件档案如Zip相关的元数据的能力。
2006年,微软通过ZipPackage类提供了一个异常笨拙的处理Zip文件的API。创建该API的主要目的在于支持Open XML Paper Specification(XPS)。XPS最初被看作是与Adobe PDF文件格式进行直接竞争的一个尝试,但后来这些努力还是被放弃了。如今的XPS主要用于Windows的假脱机打印,用于替换基于GDI的WinPrint(如果打印机支持的话)。
对于.NET 4.5来说,我们终于看到了一个值得期待的用于处理Zip文件的内建API。虽然现在谈论ZipArchive类是否是DotNetZip等库的竞争者还为时尚早,但它至少向那些由于许可问题而无法使用开源库的开发者提供了一些可用的东西。Tugberk Ugurlu研究并介绍了如何使用.NET 4.5中的ZipArchive。
查看英文原文:Microsoft .NET Finally Offers a General Purpose Zip Library
相关文章推荐
- Microsoft .NET终于提供了一个通用的Zip库
- Microsoft Data Access Application Block for .NET 2.0(又名SQLHelper)一个简单通用的数据库交互类
- 如何调用 Oracle 存储过程在 Visual Basic.NET 使用 Microsoft Oracle 托管提供程序
- asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序"
- 用asp.net开发的一个系统,如何给用户提供数据库备份和恢复的功能?
- 这些天很忙,写一个类似防火墙的东西在WINSOCK2 SPI上做DLL,终于把问题解决了,现提供完整C++项目下载
- 一个画折线图的通用代码(.net)
- Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)
- Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)
- 一个蛮不错的图形绘制控件 dotnetCHARTING (提供license下载)
- 如何调用 Oracle 存储过程在 Visual Basic.NET 使用 Microsoft Oracle 托管提供程序
- 未加载。。“。。。\roslyn\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll”或它的某一个依赖项
- 提供一个基于.NET SymmetricAlgorithm 类的、带私钥的加密/解密算法的包装类
- 终于在csdn有自己的blog了,好高兴啊。建立了一个群6241896(asp.net)
- C#批量保存方法-利用Net SqlBulkCopy 批量导入数据库,速度超快-通用方法源码提供
- 一个驱动webcam的类,利用通用的摄像头驱动程序avicap32.dll [vb.net]
- 提供一个.NET平台下通用的串口操作类
- 一个提供 提供免费论坛,免费留言等服务 的网站 My.coolala.net
- 【商业版、提供全部源码】基于RBAC的C#ASP.NET支持多用户的通用权限管理系统高质量源码10月份销售20套
- Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)