Microsoft .NET终于提供了一个通用的Zip库

文章回顾了.NET框架处理Zip文件的历史变迁,从最初的不完善实现到.NET 4.5引入的ZipArchive类,为开发者提供了更强大的内置API。
本文来源于我在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命名空间。DeflateStreamGZipStream类只提供了单向、基于流的压缩。此外,他们还缺乏处理与多种文件档案如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

非常好用, │ DotNet.Utilities.csproj │ DotNet.Utilities.sln │ DotNet.Utilities.suo │ HttpHelper.cs │ IpHelper.cs │ PDFHelper.cs │ SerializeHelper.cs │ SqlHelper.cs │ ├─bin │ └─Debug │ DotNet.Utilities.dll │ DotNet.Utilities.pdb │ Excel.dll │ HtmlAgilityPack.dll │ ICSharpCode.SharpZipLib.dll │ itextsharp.dll │ Microsoft.Office.Interop.Owc11.dll │ OWC10Chart.dll │ ├─Chart图形 │ Assistant.cs │ OWCChart11.cs │ ├─Cookie&Session │ CookieHelper.cs │ SessionHelper.cs │ SessionHelper2.cs │ ├─FTP操作类 │ edtFTPnet.dll │ FTPClient.cs │ FTPHelper.cs │ FTPOperater.cs │ FTP使用说明.txt │ ├─JSON操作 │ ConvertJson.cs │ ├─JS操作 │ JsHelper.cs │ ├─obj │ └─Debug │ DesignTimeResolveAssemblyReferencesInput.cache │ DotNet.Utilities.csproj.FileListAbsolute.txt │ DotNet.Utilities.dll │ DotNet.Utilities.pdb │ ├─Properties │ AssemblyInfo.cs │ ├─XML操作类 │ XmlHelper.cs │ XMLProcess.cs │ ├─上传下载 │ DownLoadHelper.cs │ FileDown.cs │ FileUp.cs │ UpLoadFiles.cs │ ├─加密解密 │ DEncrypt.cs │ DESEncrypt.cs │ Encrypt.cs │ HashEncode.cs │ MySecurity.cs │ RSACryption.cs │ ├─图片 │ ImageClass.cs │ ImageDown.cs │ ImageUpload.cs │ ├─字符串 │ StringHelper.cs │ ├─导出Excel │ DataToExcel.cs │ ExcelHelper.cs │ ExportExcel.cs │ GridViewExport.cs │ ├─文件操作类 │ DirFile.cs │ FileOperate.cs │ INIFile.cs │ ├─时间戳 │ TimeHelper.cs │ ├─条形码 │ BarCodeToHTML.cs │ ├─正则表达式 │ RegexHelper.cs │ ├─汉字转拼音 │ EcanConvertToCh.cs │ PinYin.cs │ ├─类型转换 │ ConvertHelper.cs │ ├─缓存 │ CacheHelper.cs │ DataCache.cs │ ├─网站安全 │ WebSafe.cs │ 使用说明.txt │ ├─网络 │ NetHelper.cs │ ├─视频转换类 │ VideoConvert.cs │ ├─计划任务 │ IntervalTask.cs │ TimerInfo.cs │ 计划任务使用说明.txt │ ├─配置文件操作类 │ ConfigHelper.cs │ ├─随机数类 │ BaseRandom.cs │ RandomHelper.cs │ RandomOperate.cs │ └─验证码 YZMHelper.cs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值