
Aspose.ZIP for .NET
C# .NET API 用于压缩和解压 ZIP、RAR 文件
.NET 压缩 API 让软件开发者在 C# 应用中压缩和解压文件、文件夹、目录,并对 ZIP 归档进行密码保护。
什么是 Aspose.ZIP for .NET?
Aspose.ZIP for .NET 是一个强大的文档压缩和归档管理 API,旨在帮助开发者以最少的编码工作高效地压缩和解压文件及文件夹。这个多功能库简化了创建、提取、修改和操作各种格式归档的过程,包括 ZIP、7Zip、RAR、TAR、GZIP、BZ2、LZ、CPIO、XZ、Z 和 CAB。它提供了广泛的文件结构管理功能,允许用户压缩目录、在现有归档中插入或删除条目,以及在不压缩的情况下存储文件,同时可无缝集成到 ASP.NET Web 应用或跨各种操作系统的 Windows Forms 中。
为了确保数据安全,该库在创建加密存档方面表现出色,支持行业标准算法,如 AES 128、AES 192 和 AES 256。这使其成为安全存储和传输敏感数据的理想解决方案,开发者可以对特定条目进行密码保护,或对整个 7z 存档进行加密。此外,Aspose.ZIP for .NET 经过性能优化,支持流式处理,允许在不将整个文件加载到内存中的情况下处理大型存档。通过提供对加密和解密过程的细粒度控制,此 API 为现代应用程序开发提供了高效且安全的工具集。
Aspose.ZIP for .NET 入门指南
推荐的安装 Aspose.ZIP for .NET 的方式是使用 NuGet。请使用以下命令进行顺利安装。
通过 .NET API 压缩和提取归档
Aspose.ZIP for .NET 为软件开发人员提供了在其 .NET 应用程序中压缩或解压归档的能力。该库已支持一些常见的归档格式,如 ZIP、RAR、7Zip、GZIP、BZ2,以及众多 Linux 格式,如 CPIO、TAR、Lzip、Bzip2、XZ 和 Z。该库还支持多种基础和高级功能,例如带密码的 ZIP 文件、从归档中提取特定文件、解压受密码保护的 Zip、应用加密和解密等。
如何使用 C# 压缩多个文件?
using (FileStream zipFile = File.Open(dataDir + "CompressMultipleFiles_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2);
archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "There are two poems from Canterbury corpus" });
}
}
}
}
使用 C# 创建受密码保护的归档
Aspose.ZIP for .NET 使软件开发人员能够在自己的 C# .NET 应用程序中压缩和解压带有密码保护的文件或文件夹,而无需担心底层文件结构。该库已包含多项与归档保护和加密相关的重要功能,例如使用 AES192 加密文件、使用 AES256 加密文件、密码保护目录、使用混合加密技术加密多个文件、解压 AES 加密的归档、解压 AES 加密的存储归档、将加密文件夹解压到目录、解压仅包含单个文件的归档、解压包含多个文件的归档、在不进行压缩的情况下提取存储的归档。
如何通过 C#.NET API 使用传统加密技术加密单个文件?
using (FileStream zipFile = File.Open(dataDir + "CompressWithTraditionalEncryption_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
var archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("p@s$")));
archive.CreateEntry("alice29.txt", source1);
archive.Save(zipFile);
}
}
使用 C# 创建自解压 (SFX) 归档
Aspose.ZIP for .NET 为软件开发人员提供了在其 .NET 应用程序中创建和管理自解压 (SFX) 存档的能力。自解压 (SFX) 存档是一种带有嵌入式存档的可执行文件,启动后可自动解压。该库包含了处理自解压存档的多个重要功能,例如实例化创建自解压存档、设置密码、运行自解压存档(需要 .NET Framework 2.0 或更高版本)等。库还提供了一些用于自解压存档的命令行选项。
如何通过 C# API 创建自解压存档?
using (FileStream zipFile = File.Open("archive.exe", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
var sfxOptions = new SelfExtractorOptions()
{
ExtractorTitle = "Extractor",
CloseWindowOnExtraction = true,
TitleIcon = "C:\pictorgam.ico"
};
archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
}
}
通过 .NET API 将 ZIP 归档转换为 tar.gz、tar.lz、tar.xz 等格式
Aspose.ZIP for .NET 使软件开发人员能够轻松将 ZIP 存档转换为许多其他文件格式,如 tar.gz、tar.lz、tar.xz 等。tar.gz 文件是 .tar 文件和 .gz 文件的组合,被认为是 Linux 世界中最广泛使用的压缩存档格式之一,而 ZIP 则是 Windows 上最流行的格式。Aspose.ZIP for .NET 提供了完整的支持,可从 ZIP 存档中提取条目并直接将其写入 tar.gz 存档,只需几行代码。下面的示例展示了如何实现此操作。
如何通过 .NET API 从 ZIP 存档中提取条目?
using (Archive source = new Archive("source.zip"))
{
using (TarArchive tar = new TarArchive())
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
tar.SaveGzipped("result.tar.gz");
}
}
