Xceed Zip Compression Library 是一個高性能的 Zip 和 Unzip 數據壓縮庫。通過它,可以創建和操作與 Zip 100% 兼容的 Zip 文件,也能在內存中直接壓縮/解壓數據。它設計提供高度靈活性,并且使用快速的多線程 zip 壓縮引擎。
Xceed Zip Compression Library is a high-performance Zip and Unzip data compression library that lets your applications create and manipulate 100% Zip-compatible Zip files as well as compress/uncompress data directly in memory. It's designed to offer the ultimate in flexibility and uses a fast multi-threaded zip compression engine.
大小確實重要!
The Xceed Zip Compression Library 是一個軟件組件,它為開發者提供許多有用的,精心設計的壓縮和解壓縮文件和數據的功能。它最受歡迎的功能是能夠創建,閱讀和寫入 Zip 文件。
該庫支持 PKWare 的最新行業標準 PKZip v4.5 zip 文件格式,以及傳統的 PKZip v2.04g 格式。由于有新的 Deflate64 壓縮算法和消除了 Zip 文件大小和在一個 zip 文件中文件數目的限制,所以可以為開發者提供改進的 Zip 壓縮。
Xceed Zip 還提供先進的 BZip2 (BWT) 壓縮算法。在很多文件類型中,包括數據庫文件和辦公文檔,比起普通的 Zip Deflate, 它通常能達到 15-20% 的更好壓縮比。BZip2 也因為能夠最理想的壓縮 XML 數據而著名。
ActiveX 技術
ATL 3.0編寫,簡單且獨立的 COM 對象和 ActiveX 控件。
無須外部的壓縮動態鏈接庫, MFC DLL 或運行庫等。
同時有單線程 (STA) 和多線程 (MTA) 模型設計。
不必將組件置于窗口上,就可以動態實現。
支持多個實例同時運行。
在一個單獨的控件中同時支持 Unicode 和 ANSI. 在 Windows NT, 2000 和 XP 上運行時,為了得到最好的性能,該庫自動調用 Unicode API.
ActiveX 控件接口內置有所有的常量,枚舉和自定義類型。完全支持代碼實現、屬性目錄、幫助以及上下文相關的F1幫助。
在所有的 32 位開發環境下工作,可以使用 ActiveX 控件,包括 VB, VC++, Delphi, C++ Builder, VFP, Office, PB, VO, Web 腳本語言, ASP 和 DCOM 項目。
對于需要 100% 可管理代碼的開發者,在兼容 VB.NET 和 C#的同時,在.NET環境下,還需要檢查 Xceed Zip,完全面向對象的 Zip, 壓縮和FileSystem類庫。
壓縮 及 Zip 文件技術
快速,低內存使用的壓縮引擎。
100% 兼容現有的 PKZip 2.04g 格式。
100% 兼容新的 PKZIP 4.5 格式。
支持 Zip64 文件格式,支持幾乎不限大小的創建 Zip 文件 (不超過 4 GB 的上限).
支持 BZip2 (BWT) 壓縮算法,以得到在很多通用文件類型,尤其是 XML 數據中,比 Deflate 更好的 15% 到 20% 的壓縮比。
BZip2 壓縮算法能夠很好的壓縮 XML 數據。
支持 Deflate64TM 壓縮算法,它是一個對普通的 Deflate 改進的行業標準。
Zip 文件可以包含任意數目的文件 (不超過 65535 文件上限).
Xceed Zip 創建的 regular, spanned 和 self-extracting zip 文件可以被任何現有的解壓縮應用程序來解壓,反之亦然。
存取最新的 zip 擴展文件格式,允許 Unicode 文件名和 NT 文件屬性,額外的時間戳和安全權限被保存在 zip 文件中。
不需要修補損壞的 zip 文件。Xceed Zip 自動嘗試恢復錯誤,并報告解壓時在 zip 文件中發現的任何矛盾。
主要功能
能夠把 Zip 文件或內存緩存到新的或現有的 zip 文件中。
解壓文件到硬盤或直接到內存。
能夠完全在內存中壓縮、解壓字符串或實現緩存。
所有的壓縮和解壓縮模式都支持流和加密。
創建具有 Self-Extractor 模塊選項的完全自定義的 zip 文件。
轉換 zip 文件的任意類型 (regular, spanned, multi-part, self-extracting 或 spanned self-extracting) 為其它任意類型的 zip 文件。
跨多個磁盤讀寫 zip 文件。
直接讀寫多個部分的 zip 文件到硬盤。
從另一個 zip 文件的內容或合并兩個 zip 文件到一起來更新一個 zip 文件
可選擇后臺處理,使你的代碼可以在 Xceed Zip 工作時繼續執行。
應用組件交互
所有的操作可以隨時取消。
能夠依據文件以及執行的操作,按照百分比、字節和文件數量,提供狀態報告事件。能夠輕松地對應用程序添加進度條。
當一個文件進行壓縮,解壓縮,更新,刪除等操作時,事件被觸發。
通知應用程序何時和為什么一個特定的文件不能被處理。
當一個文件被壓縮或解壓會覆蓋已有的文件時通知應用程序。你的應用程序可以選擇覆蓋它或跳過。你也可以選擇重命名文件。
為當前被處理的文件提供完全的文件信息。
你的應用程序可以獲得如一個文件已完成的壓縮比例,壓縮大學和其他可用信息。
當跨多個磁盤來讀或寫 zip 文件,如果它應當提示用戶插入一個特定的磁盤,通知你的應用程序。
許多事件具有可修改參數,以便你的應用程序在壓縮,解壓縮,轉換文件時來改變文件參數或規格。
Unused 事件可以避免被觸發以增強性能。
當臨時 zip 文件正在被拷貝到其最終目的地時,提供反饋給用戶。
當 zip 文件的中心目錄正在被寫入時,提供反饋給用戶。
Zip 文件操作功能
在一個 zip 文件中獲取全局信息。
通過收集對象獲取一個 zip 文件包含的詳細名單。
通過事件獲取一個 zip 文件包含的詳細名單。
從一個 zip 文件中刪除文件。
當文件已經證實成被功的壓縮后就刪除它們。
測試一個 zip 文件及其內容的完整性。
基于文件的屬性,大小,版本資源和日期來處理或排除文件——或者創建你自己的個性化包含/排除過濾器。
通配符預覽——在開始壓縮或解壓前正確的找出哪些文件會符合你的通配符和過濾器。
壓縮預覽——在開始實際壓縮操作前獲取壓縮文件大小。也可以提供壓縮整組文件的統計數字。
在 zip 文件中為單獨的文件添加和獲取注釋。
獲取和設置整個 zip 文件的注釋。
能夠自動終止,以便其他應用程序在處理時不會中斷。
在寫 zip 文件到磁盤前清空磁盤。
指明剩余空間的數量,以在第一個磁盤中放置一個 spanned zip 文件組。
當文件跨區時,丟棄未指明剩余空間數量的磁盤。
壓縮整個目錄及其內容。
只處理 zip 文件或磁盤上已有文件中更新過的文件。
提供全局的或基于一個個文件的加密和解密的密碼。
控制哪些類型的文件可以不經壓縮存儲到 zip 文件中。
為每個文件控制什么路徑信息被存儲到 zip 文件中。
在 zip 文件中存儲一個驅動器的卷標簽并在其解壓縮時恢復。
壓縮系統的和隱藏的文件,改寫只讀文件。
允許壓縮那些當前打開被其它程序進行寫操作的文件。
限制操作有時間戳的文件和文件大小在特定范圍內的文件。
在 zip 文件支持中長文件名, UNC 路徑和存儲 Unicode 文件名。
操作自壓縮 zip 文件而不用中斷他們的自壓縮功能。
文件在壓縮或解壓時可以重命名文件和它們的路徑。
在一個 zip 文件中重命名文件。
在一個 zip 文件中改變文件參數 (注釋,時間戳,文件屬性)。
控制壓縮文件的壓縮總量。
指明文件被解壓到何處的路徑。
使用通配符來指明要處理的文件。
在臨時復制的 zip 文件中工作,以獲得最大限度的安全。
指明創建的臨時文件的位置。
基于文件屬性或參數,在zip 文件更新、合并或轉換時,過濾出文件。
把存檔文件的日期設定為文件中包含的最新日期。
文件和示例
提供 MSDN 類型 的 HTML 格式的完善的,全面的文檔,它是完全的上下文相關,在IDE上按下F1鍵時,會打開相關主題的手冊。
為各種語言充分注釋示例應用程序,包括VB, Delphi, 使用 ATL 和 MFC 的 Visual C++, C++ Builder 和 Active Server Pages.
直接 DLL API 訪問
完全可用的 16 位支持
從 2001年5月11日起, 16 位版本的 Xceed Zip Compression Library 不再被自動列入軟件包。如果你對 16 位的版本感興趣,只需簡單的發送一個請求到 support@xceedsoft.com 我們就會給你發送 16 位的版本的軟件包。如果你需要一個注冊版,不要忘記在你的請求中包含你的注冊號碼。
包含一個 16 位版本,它提供一個 16 位的 VBX 和 Delphi 1 VCL. 這個版本工作在 VB3, VB4/16, Delphi 1, VC++ 1.52 及其他 16 位語言中。
該 16 位版本支持 Xceed Zip v4.5 特性的大子集,包括 Xceed Zip Self-Extractor Module 的 16 位版本。
Size does matter!
The Xceed Zip Compression Library is a software component that provides developers with a host of useful, carefully designed functions for compressing and uncompressing files and data. It's most popular functionality is the ability to create, read and write Zip files.
The library supports PKWare's latest industry standard PKZip v4.5 zip file format as well as the traditional PKZip v2.04g format, providing developers with improved Zip compression thanks to the new Deflate64 compression method and removing limitations on Zip file size and the number of files in a zip file.
Xceed Zip also offers the advanced BZip2 (BWT) compression method which regularly achieves a 15-20% better compression ratio than regular Zip Deflate on many file types including database files and office documents. BZip2 is also famed for optimally compressing XML data.
Features
ActiveX technology
- A single fully self-contained COM object and ActiveX control written with ATL 3.0.
- Requires no external compression DLLs, MFC DLLs or runtime libraries.
- Both single-threaded (STA) and multi-threaded apartment (MTA) model design.
- Instantiate the component dynamically without putting it on a form.
- Supports multiple instances running simultaneously.
- Supports both Unicode and ANSI in one single control. The library automatically uses Unicode API calls for best performance when running on Windows NT, 2000 and XP.
- ActiveX control interface has all constants, enumerations and types built-in. Code completion, property categories, help strings and context-sensitive F1-help fully supported.
- Works with all 32-bit development environments that can use ActiveX controls, including VB, VC++, Delphi, C++ Builder, VFP, Office, PB, VO, Web scripting languages, ASP and DCOM projects.
- Also compatible with VB.NET and C#. For developers that require 100% managed code, check out Xceed Zip for .NET, our fully object-oriented Zip, Compression and FileSystem class library.
Compression & Zip file technology
- Fast, low memory usage compression engine.
- 100% compatible with the existing PKZip 2.04g format.
- 100% compatible with the new PKZIP 4.5 format. (New in v5.0)
- Supports the Zip64 zip file format allowing the creation of Zip files of practically unlimited size (no more 4 GB limit). (New in v5.0)
- Supports the BZip2 (BWT) compression method for 15 to 20% better compression than Deflate on many popular file types, especially XML data.
- BZip2 compression method is excellent for compressing XML data
- Supports the Deflate64TM compression method, an industry standard improvement to regular Deflate. (New in v5.0)
- Zip files can contain any number of files (no more 65535 file limit). (New in v5.0)
- Regular, spanned and self-extracting zip files created by Xceed Zip can be used by any of today's existing unzipping applications, and vice-versa.
- Stores and retrieves the latest zip file format extensions, allowing Unicode filenames and NT file attributes, extra time stamps and security permissions to be stored in the zip file.
- No need to repair corrupted zip files. Xceed Zip automatically tries to recover from errors and reports any inconsistencies found in the zip file while unzipping.
Major operations
- Zip files or memory buffers into new or existing zip files.
- Unzip files to disk or directly to memory.
- Compress and decompress strings or buffers completely in memory.
- All compression and decompression modes support streaming and encryption.
- Create fully customized self-extracting zip files with the optional Self-Extractor Module.
- Convert any type of zip file (regular, spanned, multi-part, self-extracting or spanned self-extracting) into any other type of zip file.
- Reads and writes zip files that span multiple disks.
- Reads and writes multi-part zip files directly to hard drive.
- Update one zip file from another one's contents or merge two zip files together.
- Optional background processing so your code can continue execution while Xceed Zip is working.
Application-component interactivity
- All operations can be aborted at any time.
- Provides status report events on a file-by-file basis as well as on the entire operation being performed, with percentages, byte and file counts. Easily add any kind of progress bar to your apps.
- Events are triggered whenever a file is being zipped, unzipped, updated, deleted, etc.
- Notifies your application when and why a specific file cannot be processed.
- Notifies your application when a file being zipped or unzipped is about to overwrite an existing file. Your application can then choose to overwrite it or skip it. You can also rename files.
- Provides complete file information for the current file being processed.
- Your application receives info such as a file's achieved compression ratio, compressed size and other info as it becomes available.
- Informs your application that it should prompt the user to insert a specific disk when reading or writing zip files that span multiple disks.
- Many events have modifyable parameters to allow your application to change file parameters or specifications as the files are being zipped, unzipped, converted, etc.
- Unused events can be prevented from being triggered for increased performance.
- Provide feedback to the user when the temporary zip file is being copied to its final destination. (New in v5.0)
- Provide feedback to the user when the zip file's central directory is being written. (New in v5.0)
Zip file manipulation functionality
- Obtain global information on a zip file.
- Obtain a detailed list of a zip file's contents via a collection object.
- Obtain a detailed list of a zip file's contents via events.
- Delete files from within a zip file.
- Delete files after they have been successfully and verifiably zipped.
- Test the integrity of a zip file and its contents.
- Process or exclude files based on file attributes, sizes, version resources and dates - or create your own custom include/exclude filters.
- Wildcard previewing - find out exactly which files will match your wildcards and filters before you start zipping or unzipping.
- Compression previewing - obtain the compressed file sizes before starting the actual zipping operation. Statistics on the entire group of files to be zipped are also provided.
- Add and retrieve comments for individual files in the zip file.
- Get and set the global zip file comment.
- Automatic full yield so other applications do not halt during processing.
- Clear disks before writing the zip file to them.
- Specify the amount of free space to leave on the first disk of a spanned zip file set.
- Reject disks without specified amount of free space on them when spanning.
- Compress entire directories and their contents.
- Process only files newer than those already in the zip file or existing on disk.
- Provide global encryption and decryption passwords or on a file-by-file basis.
- Control which types of files are stored in the zip file without compression.
- Control what path information is stored in the zip file for each file.
- Store a drive's volume label in the zip file and restore it during unzipping.
- Zip up system and hidden files, overwrite read-only files.
- Allow zipping files that are currently open for write operations by other processes.
- Limit operation to files with timestamps and file sizes within specified ranges.
- Supports long filenames, UNC paths and stores Unicode filenames in the zip file.
- Manipulate self-extracting zip files without disturbing their self-extracting ability.
- Rename files and their paths as they are being zipped or unzipped.
- Rename files in a zip file.
- Change file parameters (comment, time stamps, file attributes) in a zip file.
- Control the amount of compression applied to files being zipped.
- Specify the path where files will be uncompressed to.
- Specify files to process using wildcards.
- Work on temporary copies of zip files, for maximum safety.
- Specify the location of where temp files are created.
- Filter out files during a zip file update, merge or conversion based on any file attributes or parameters.
- Set the date of the archive file to the most recent date among the files it contains. (Brought back in v5.0)
Documentation and samples
- Complete, comprehensive documentation provided in an MSDN style HTML format which is fully context-sensitive so that pressing F1 on a keyword in your IDE opens up the manual to the correct relevant topic.
- Fully commented sample applications for various languages, including VB, Delphi, Visual C++ with ATL and MFC, C++ Builder and Active Server Pages.
Direct DLL API access
- The library's single DLL can also be accessed as a standard 32-bit DLL through it's exported API.
- All properties, methods and events are exported.
- All exported API calls involving string parameters come in single, wide character and Unicode versions.
- Events can be handled either by callback functions or by windows messages.
Complete 16-bit support available
- As of May 11th, 2001, the 16-bit edition of the Xceed Zip Compression Library is not automatically included in the package. If you are interested in a 16-bit version, simply send a request to support@xceedsoft.com and we will send you the 16-bit package. If you want a registered version, don't forget to include your registration number in your request.
- Includes a 16-bit edition which provides a 16-bit VBX and Delphi 1 VCL. This edition works with VB3, VB4/16, Delphi 1, VC++ 1.52 and other 16-bit languages.
- The 16-bit edition supports a large subset of Xceed Zip v4.5's features, and includes a 16-bit edition of the Xceed Zip Self-Extractor Module.