翻譯|使用教程|編輯:李顯亮|2020-05-07 09:28:45.383|閱讀 410 次
概述:在本文中,將演示如何使用C#以編程方式創(chuàng)建7z(7-Zip)存檔。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
除ZIP格式外,還有其他一些常用的存檔格式,例如7z,tar,RAR等。其中,7z存檔格式基于開(kāi)放源代碼體系結(jié)構(gòu),用于以高壓縮率壓縮文件和文件夾。它還支持256位AES加密,并且還可以加密文件名。
Aspose.ZIP for .NET是用于標(biāo)準(zhǔn)ZIP格式的靈活文檔壓縮和存檔操作API。API使.NET應(yīng)用程序能夠?qū)崿F(xiàn)文件壓縮/解壓縮,文件存檔以及文件夾和存檔加密。
Aspose.Zip for .NET已升級(jí)至V20.3,如果你還沒(méi)有用過(guò)Aspose.Zip可以點(diǎn)擊這里下載最新版測(cè)試。
在本文中,我將演示如何使用C#以編程方式創(chuàng)建7z(7-Zip)存檔。本文分為以下幾節(jié):
將文件壓縮到7z存檔中可能有兩種情況。您可能只有一個(gè)文件,或者可能有一堆文件要壓縮。這里可以顯式處理兩種情況。
以下是創(chuàng)建具有單個(gè)條目的7z歸檔文件的步驟。
下面的代碼示例演示如何使用C#創(chuàng)建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()方法。以下是將多個(gè)文件條目添加到7z存檔的步驟。
using (SevenZipArchive archive = new SevenZipArchive()) { archive.CreateEntries(dataDir); archive.Save("SevenZip.7z"); }
7z格式支持AES加密以保護(hù)文件。為了加密7z文件,使用SevenZipAESEncryptionSettings類(lèi)。以下代碼示例顯示了如何使用C#創(chuàng)建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格式還允許為每個(gè)文件條目指定不同的密碼。例如,如果要壓縮7z存檔中的兩個(gè)文件,則可以為每個(gè)文件指定不同的密碼。以下是為7z條目設(shè)置不同密碼的步驟。
以下代碼示例顯示了如何為7z歸檔中的每個(gè)條目設(shè)置密碼。
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); } }
在本文中,我們學(xué)習(xí)了如何使用C#以編程方式創(chuàng)建7z檔案。您還可以從閱讀【使用C#創(chuàng)建ZIP歸檔文件的不同方法】。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn