提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-05-07 09:28:45.383|阅读 365 次
概述:在本文中,将演示如何使用C#以编程方式创建7z(7-Zip)存档。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
除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)存档。本文分为以下几节:
将文件压缩到7z存档中可能有两种情况。您可能只有一个文件,或者可能有一堆文件要压缩。这里可以显式处理两种情况。
以下是创建具有单个条目的7z归档文件的步骤。
下面的代码示例演示如何使用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); } }
在这种情况下,可以将文件放在文件夹中,并将文件夹的路径传递给SevenZipArchive.CreateEntries()方法。以下是将多个文件条目添加到7z存档的步骤。
using (SevenZipArchive archive = new SevenZipArchive()) { archive.CreateEntries(dataDir); archive.Save("SevenZip.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"); }
7z格式还允许为每个文件条目指定不同的密码。例如,如果要压缩7z存档中的两个文件,则可以为每个文件指定不同的密码。以下是为7z条目设置不同密码的步骤。
以下代码示例显示了如何为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归档文件的不同方法】。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢