翻譯|使用教程|編輯:李顯亮|2020-05-07 09:28:45.383|閱讀 410 次
概述:在本文中,將演示如何使用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@fc6vip.cn