翻譯|使用教程|編輯:李顯亮|2020-04-24 11:56:28.353|閱讀 711 次
概述:在本文中,我將向您展示如何使用C#以編程方式提取或解壓縮ZIP檔案中的文件。我們還將介紹如何解壓縮受密碼保護或AES加密的ZIP歸檔文件。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
ZIP檔案是用來壓縮和保持一個或多個文件或文件夾到一個單一的容器中。ZIP歸檔文件封裝了文件和文件夾,并保存了它們的元數據信息。歸檔的最常見用法是減小用于存儲或傳輸的文件的大小,并應用加密以提高安全性。
Aspose.ZIP for .NET是用于標準ZIP格式的靈活文檔壓縮和存檔操作API。API使.NET應用程序能夠實現文件壓縮/解壓縮,文件存檔以及文件夾和存檔加密。
Aspose.Zip for .NET已升級至V20.3,如果你還沒有用過Aspose.Zip可以點擊這里下載最新版測試。
在本文中,我將向您展示如何使用C#以編程方式提取或解壓縮ZIP檔案中的文件。我們還將介紹如何解壓縮受密碼保護或AES加密的ZIP歸檔文件。本文將演示:
解壓縮文件的過程可以通過兩種方式實現:
在第一種方法中,您可以顯式訪問ZIP歸檔文件中的每個文件并將其解壓縮。此外,您可以打印提取過程的進度。而第二種方法只是將文件解壓縮到指定的文件夾中。
以下是訪問和解壓縮文件以及打印提取進度的步驟:
下面的代碼示例演示如何使用C#解壓縮ZIP存檔中的文件。
// Open ZIP file using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open)) { using (Archive archive = new Archive(zipFile, new ArchiveLoadOptions())) { // Access each entry in ZIP archive for (int i = 0; i < archive.Entries.Count; i++) { int percentReady = 0; archive.Entries[i].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); if (percent > percentReady) { Console.WriteLine(string.Format("{0}% decompressed", percent)); percentReady = percent; } }; // Extract files archive.Entries[i].Extract(archive.Entries[i].Name); } } }
以下步驟用于將文件解壓縮到特定文件夾中。
以下C#代碼示例將文件解壓縮到文件夾中。
// Open ZIP file using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open)) { using (var archive = new Archive(zipFile)) { // Unzip files to folder archive.ExtractToDirectory("Unzipped Files"); } }
可以使用Aspose.ZIP for .NET解壓縮受密碼保護的ZIP存檔。為此,您只需要使用ArchiveLoadOptions類指定密碼,該類將作為第二個參數傳遞給Archive的構造函數。以下是使用C#解壓縮受密碼保護的ZIP文件的示例代碼。
// Open ZIP file using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open)) { // Decrypt using password using (var archive = new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" })) { // Extract files to folder archive.ExtractToDirectory("Unzipped Files"); } }
ZIP存檔也可以使用AES加密進行加密。用于.NET的Aspose.ZIP支持使用AES128,AES192和AES256加密方法對存檔進行加密。解壓縮AES加密的ZIP文件類似于解壓縮受密碼保護的ZIP文件。只需使用ArchiveLoadOptions類指定解密密碼,其余的將由API處理。以下代碼示例顯示了如何在C#中解壓縮AES加密的ZIP文件。
// Open ZIP file using (FileStream zipFile = File.Open("encrypted.zip", FileMode.Open)) { // Decrypt and extract to folder new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }).ExtractToDirectory("decrypted"); }還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(642018183),我們很高興為您提供查詢和咨詢。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn