它可以快速地进行数据压缩,从而节省磁盘空间和网络带宽,而且可以很容易地对压缩数据进行操作和处理。ComponentOne Zip™ for WinForm 控件允许您在自己的应用程序中对文件进行压缩,包括系统文件和隐藏文件,并且可以添加和删除压缩文件和文件夹;您甚至可以读取或写入存储在数据流中的 zip 文件。

所包含的类

  • C1ZipFile 是处理 zip 文件的类。它允许您创建、打开和修改 zip 文件。C1ZipFile 具有一个 C1ZipFile.Entries 属性,该属性代表了一个 zip 文件中条目的集合。
  • C1ZStreamWriter 是一个数据流对象,它接受常规数据作为输入,对其进行压缩,并写入到一个底层的数据流。它可以将数据压缩到文件、内存,或任何其他类型的数据流。您可以将一个 BinaryWriter 对象绑定到 C1ZStreamWriter,从而直接写入对象,而无需处理字节数组。
  • C1ZStreamReader 是一个数据流对象,它接受压缩的数据流作为输入,并在它从底层的压缩流中读取数据时进行解压缩。您可以将一个 BinaryReader对象绑定到 C1ZStreamReader,从而直接读取对象,而无需处理字节数组。

特性

压缩或展开文件夹

使用 Zip 控件,您可以很容易地对文件夹进行压缩或展开操作,同时又能够保留文件夹的结构。

读取和写入数据流

除了使用 C1ZipFile.Open(数据流)方法的实际文件之外,Zip 控件还可以读取和写入存储在数据流中的 zip 文件。这就能够允许用户对嵌入在应用程序资源中或存储于数据库字段而非实际的文件中的 zip 文件进行读取。

获取和设置文件信息

您可以轻松地获得 zip 文件中的信息,其中包括 zip 文件内容的详细列表。您还可以通过添加和检索注释来控制文件的信息,控制 zip 文件中各个条目的路径信息,并获取和设置全局性的 zip 文件注释。

文件的完整性和安全性

使用 Zip 控件,您可以测试一个 zip 文件的完整性以及其内容,还可以为 zip 文件保存临时副本,以确保最大的安全性。

快速、低内存占用的压缩引擎

基于 Zip 控件的低内存占用引擎,您可以将文件或内存缓冲器压缩到新的或现有的 zip 文件,将文件解压缩到磁盘或直接到内存,将字符串或缓冲器完全压缩和解压缩在内存中,从而添加最具灵活性的基于数据流的压缩和解压缩。

压缩和操作压缩文件

压缩的文件可以包括系统文件和隐藏文件。支持方便地操作压缩文件,包括从一个 zip 文件中删除文件,控制应用到被压缩文件中的压缩的量,指定文件的解压路径。

结合了 ZLIB 的优势

ZLIB 是一个通用的、无损的数据压缩库,支持便携式、跨平台的数据格式。与 Unix 压缩和 GIF 图像格式的 LZW 压缩不同,ZLIB 压缩方法从来不会扩展数据(在极端的情况下 LZW 可以将文件的大小扩大两倍或三倍),并且具有一个独立于输入数据的内存镜像。

支持 Zip64

C1Zip 如今可以支持 Zip64 文件。这可以允许条目长于常见的 4G 限制,也可以允许每个 zip 文件中包含更多的条目。每个 ZIP 文件中条目的最大数量为 2,147,483,647(int.MaxValue);未压缩条目的最大尺寸为 9,223,372,036,854,775,807(long.MaxValue)。

100% 的托管 C# 代码

C1.C1Zip.ZLib 是 Adler 和 Gailly 的 ZLIB 库的一个 C# 实现。它包含了一个可以处理低级别的基于数据流的压缩和解压缩的 ZStream 类。

跨平台支持

.NET 的 Zip 类在所有的.NET 开发平台中都是受支持的,包括 WinForms,ASP.NET,WPF,Mobile,以及存在于 ComponentOne for Silverlight 中的特定 Silverlight 版本。