快速创建7z(7-Zip)存档!教你用Aspose.Zip以编程方式解决!

在本文中,将演示如何使用C#以编程方式创建7z(7-Zip)存档。

除ZIP格式外,还有其他一些常用的存档格式,例如7z,tar,RAR等。其中,7z存档格式基于开放源代码体系结构,用于以高压缩率压缩文件和文件夹。它还支持256位AES加密,并且还可以加密文件名。

Aspose.ZIP for .NET是用于标准ZIP格式的灵活文档压缩和存档操作API。API使.NET应用程序能够实现文件压缩/解压缩,文件存档以及文件夹和存档加密。

Aspose.Zip for .NET已升级至V20.3,如果你还没有用过Aspose.Zip可以点击这里下载最新版测试。

在本文中,我将演示如何使用C#以编程方式创建7z(7-Zip)存档。本文分为以下几节:

  • 使用C#创建7z(7-Zip)存档
  • 使用C#创建AES加密的7z存档
  • 使用C#为7z条目设置不同的密码
使用C#创建7z(7-Zip)存档

将文件压缩到7z存档中可能有两种情况。您可能只有一个文件,或者可能有一堆文件要压缩。这里可以显式处理两种情况。

一次创建7z存档

以下是创建具有单个条目的7z归档文件的步骤。

  • 打开一个新的FileStream创建一个7z文件。
  • 创建一个SevenZipArchive类的实例。
  • 使用SevenZipArchive.CreateEntry(String,String,Boolean,SevenZipEntrySettings)方法将文件添加到存档中。
  • 使用SevenZipArchive.Save(Stream)方法创建和保存存档。

下面的代码示例演示如何使用C#创建7z(7压缩)归档文件。

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create)){    using (var archive = new SevenZipArchive())    {        archive.CreateEntry("data.bin", "file.dat");        archive.Save(sevenZipFile);    }}
创建具有多个条目的7z存档

在这种情况下,可以将文件放在文件夹中,并将文件夹的路径传递给SevenZipArchive.CreateEntries()方法。以下是将多个文件条目添加到7z存档的步骤。

  • 创建一个SevenZipArchive类的实例。
  • 将文件夹的路径传递给SevenZipArchive.CreateEntries(String,Boolean)方法。
  • 调用SevenZipArchive.Save(String)方法。
using (SevenZipArchive archive = new SevenZipArchive()){    archive.CreateEntries(dataDir);    archive.Save("SevenZip.7z");}
使用C#创建AES加密的7z存档

7z格式支持AES加密以保护文件。为了加密7z文件,使用SevenZipAESEncryptionSettings类。以下代码示例显示了如何使用C#创建AES加密的7z存档。

using (var archive = new SevenZipArchive(new SevenZipEntrySettings(null, new SevenZipAESEncryptionSettings("p@s$")))){    archive.CreateEntry("data.bin", new MemoryStream(new byte[] { 0x00, 0xFF }));    archive.Save("archive.7z");}
使用C#为7z条目设置不同的密码

7z格式还允许为每个文件条目指定不同的密码。例如,如果要压缩7z存档中的两个文件,则可以为每个文件指定不同的密码。以下是为7z条目设置不同密码的步骤。

  • 为7z存档文件创建一个新的FileStream。
  • 使用FileInfo类访问每个文件条目。
  • 创建一个SevenZipArchive类的实例。
  • 使用SevenZipArchive.CreateEntry(String,FileInfo,Boolean,SevenZipEntrySettings)在7z存档中创建条目
  • 使用SevenZipArchive.Save(Stream)方法保存存档。

以下代码示例显示了如何为7z归档中的每个条目设置密码。

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create)){    FileInfo fi1 = new FileInfo("data1.bin");    FileInfo fi2 = new FileInfo("data2.bin");    FileInfo fi3 = new FileInfo("data3.bin");    using (var archive = new SevenZipArchive())    {        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));        archive.Save(sevenZipFile);    }}

在本文中,我们学习了如何使用C#以编程方式创建7z档案。您还可以从阅读【使用C#创建ZIP归档文件的不同方法】。


还想要更多吗可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月4日
下一篇 2020年4月4日

相关推荐

发表回复

登录后才能评论