在这篇博文中,我们将指导您使用 C# 将 ZIP 存档转换为 7z 格式的过程。7z 格式以其高压缩率而闻名,被广泛用于减小文件大小,使其成为高效存储和传输的理想选择。我们将演示如何逐步实现转换。
为什么要将 ZIP 转换为 7z?
将 ZIP 文件转换为 7z 有几个原因:
减小文件大小:与 ZIP 相比,7z 格式提供了更优越的压缩效果。
提高性能:文件越小,上传、下载和传输速度就越快。
更高的压缩率:7z 格式可以更有效地压缩文件,从而减小文件大小以优化存储。
ZIP 到 7z 存档转换器 - C# API 配置
要将 ZIP 档案转换为 7z 格式,您需要在 Microsoft Visual Studio IDE 中使用以下 NuGet 安装命令安装 Conholdate.Total for .NET:
PM> NuGet\Install-Package Conholdate.Total
在 C# 中将 ZIP 转换为 7z
您可以按照以下步骤在 C# 中将 ZIP 转换为 7z:
Archive:这表示您要转换的 ZIP 文件。Archive 类用于打开和读取 ZIP 文件。
SevenZipArchive:此类用于创建和保存 7z 档案。
SevenZipEntrySettings:指定 7z 格式的压缩设置。在本例中,我们使用 LZMA2 压缩算法来获得最大的压缩效率。
MemoryStream:使用流将文件数据复制到内存中,并将 ZIP 文件中的每个条目添加到新的 7z 存档中。
下面的示例代码演示了如何在 C# 中将 ZIP 转换为 7z:
using (Archive source = new Archive("source.zip"))
{
using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
mem.Seek(0, SeekOrigin.Begin);
archive.CreateEntry(entry.Name, mem);
}
}
archive.Save("result.7z");
}
}
免费评估许可证
您可以获得 免费临时许可证 来评估您终端的不同档案转换或操作。
结论
通过遵循上述步骤,您可以轻松地在 C# 中将 ZIP 文件转换为 7z 格式。7z 格式的压缩效率更高,是减小文件大小的绝佳选择,有助于提高处理大型档案时的性能。如果您需要讨论任何歧义,请通过 forum 与我们联系。
常见问题解答
我可以用密码保护 7z 存档吗?
是的,7z 格式支持高级加密,允许您使用密码保护您的档案。
我可以一次性将多个 ZIP 文件转换为 7z 吗?
是的,您可以循环遍历多个 ZIP 文件并应用相同的逻辑进行转换。
我需要在我的计算机上安装 7-Zip 软件吗?
否,Conholdate.Total for .NET 包含与 7z 配合使用所需的所有组件,无需额外的软件。