ZIP 转 7z C#

在这篇博文中,我们将指导您使用 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 配合使用所需的所有组件,无需额外的软件。

参见