與其他組件比較

Zip Archive C# (開發人員教程)

發佈 2023年10月30日
分享:

ZIP 壓縮檔是一種受歡迎的格式,用於將單個文件或整個多文件集合壓縮並打包到一個單一的 ZIP 容器或 ZIP 文件中。在 C# 中,您可以使用 System.IO.Compression 命名空間輕鬆處理 ZIP 壓縮檔,該命名空間提供了如 ZipArchive 和 ZipFile 等類別來對 ZIP 文件執行各種操作。在這個教程中,我們將探索如何使用相對路徑在 C# 中創建 ZIP 文件、從壓縮文件中提取數據以及操作 ZIP 壓縮檔。

先決條件

  1. 基本的 C# 程式設計知識。

  2. Visual Studio 或任何 C# 開發環境。

步驟 1:建立一個新的 C# 專案

打開您的 C# 開發環境,並建立一個新的 C# 專案來實現 Zip 壓縮檔案和壓縮的文字檔功能,使用 ZipArchive archive=new ZipArchive()`. 您可以選擇控制台應用程序或任何其他適合您用例的項目類型。

第二步:在 C# 中從資料夾建立 Zip 壓縮檔

我們可以使用 ZipFile.CreateFromDirectory 從現有目錄輕鬆建立新的 Zip 壓縮檔()如下範例所示的方法。

static void Main(string [] args)
{
ZipFile.CreateFromDirectory(@"D:\Certificate", @"D:\Certificate.zip", CompressionLevel.SmallestSize, true);
}
static void Main(string [] args)
{
ZipFile.CreateFromDirectory(@"D:\Certificate", @"D:\Certificate.zip", CompressionLevel.SmallestSize, true);
}
Shared Sub Main(ByVal args() As String)
ZipFile.CreateFromDirectory("D:\Certificate", "D:\Certificate.zip", CompressionLevel.SmallestSize, True)
End Sub
VB   C#

第一個參數 @"D:\Certificate" 指定要壓縮的來源目錄,而第二個參數 @"D:\Certificate.zip" 指定結果 ZIP 壓縮檔的位置和名稱。第三個參數 CompressionLevel.SmallestSize 決定壓縮等級,其中 SmallestSize 表示即使壓縮二進制資料需要更長的時間,也會生成最小的檔案大小。第四個參數,true,指定是否在 ZIP 壓縮檔中保留目錄結構和檔案系統,確保文件夾的結構不變。

第 3 步:在 C# 中更新 Zip 壓縮檔

在以下範例中,我們將演示如何處理現有的 ZIP 壓縮檔案的過程。具體而言,我們將探討如何使用 ZipArchive archive=zipfile.openread 打開已創建的 ZIP 壓縮包,修改其內容,並添加一個新文件和一個現有文件。

 using (FileStream zipToOpen = new FileStream(@"D:\Invoices.zip", FileMode.Open))
 {
//var archive= new ZipArchive
     using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
     {
         archive.CreateEntryFromFile(@"D:/Invoice.pdf", "Invoices/myInvoice.pdf");
         ZipArchiveEntry entry = archive.CreateEntry("Readme.txt");
//using StreamWriter writer=new StreamWriter
         using (StreamWriter writer = new StreamWriter(entry.Open()))
         {
            writer.WriteLine("This folder contains the file compressed using C#");
            writer.WriteLine("========================");
         }
     }
 }
 using (FileStream zipToOpen = new FileStream(@"D:\Invoices.zip", FileMode.Open))
 {
//var archive= new ZipArchive
     using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
     {
         archive.CreateEntryFromFile(@"D:/Invoice.pdf", "Invoices/myInvoice.pdf");
         ZipArchiveEntry entry = archive.CreateEntry("Readme.txt");
//using StreamWriter writer=new StreamWriter
         using (StreamWriter writer = new StreamWriter(entry.Open()))
         {
            writer.WriteLine("This folder contains the file compressed using C#");
            writer.WriteLine("========================");
         }
     }
 }
Using zipToOpen As New FileStream("D:\Invoices.zip", FileMode.Open)
'var archive= new ZipArchive
	 Using archive As New ZipArchive(zipToOpen, ZipArchiveMode.Update)
		 archive.CreateEntryFromFile("D:/Invoice.pdf", "Invoices/myInvoice.pdf")
		 Dim entry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
'using StreamWriter writer=new StreamWriter
		 Using writer As New StreamWriter(entry.Open())
			writer.WriteLine("This folder contains the file compressed using C#")
			writer.WriteLine("========================")
		 End Using
	 End Using
End Using
VB   C#

上述程式碼在讀取模式下使用 FileStream 開啟位於 "D:\Invoices.zip" 的現有 ZIP 檔案,並以更新模式建立一個 ZipArchive 來讀取和修改檔案內容。然後,它使用 CreateEntryFromFile 方法將 "D:" 中的 "Invoice.pdf" 添加到壓縮檔案中,放置於 "Invoices" 目錄中,並命名為 "myInvoice.pdf"。

發票目錄

第四步:提取 ZIP 壓縮檔

以下 C# 代碼將 ZIP 文件的內容提取到指定的目錄中。

ZipFile.ExtractToDirectory(@"D:\Certificate.zip", @"D:\ExtractedCertificate");
ZipFile.ExtractToDirectory(@"D:\Certificate.zip", @"D:\ExtractedCertificate");
ZipFile.ExtractToDirectory("D:\Certificate.zip", "D:\ExtractedCertificate")
VB   C#

上述代碼行將從 ZIP 壓縮檔解壓縮文件。它指定位於 "D:\Certificate.zip" 的原始 ZIP 壓縮檔,並將目標目錄設為 "D:\ExtractedCertificate"。代碼解壓縮檔案,並將其內容放入指定的目錄中。您可以提供工作目錄的絕對路徑或相對路徑來創建壓縮文字檔。

介紹 IronPDF

IronPDF 是一個多功能且強大的C#庫,簡化了在.NET應用程序中創建、操作和渲染PDF文檔的過程。它為開發者提供了類和方法,使他們能夠在C#項目中輕鬆生成、編輯和轉換PDF文件。無論你需要創建PDF報告、發票還是互動表單,IronPDF都提供了廣泛的功能和能力,使其成為需要全方位PDF功能的企業和開發者不可或缺的庫。有了IronPDF,你可以將PDF生成和操作無縫集成到你的C#應用程序中,使各種與PDF相關的任務得到高效處理。

IronPDF的功能

IronPDF在C#應用程序中提供了一套全面的功能和能力來處理PDF。一些主要特點包括:

PDF生成:您可以使用各種文本、圖像和圖形元素輕鬆創建新的PDF文檔或修改現有文檔。

HTML轉PDF:將HTML頁面、URL甚至是原始HTML內容轉換為PDF,具有高保真渲染。這對於生成報告或捕獲網頁內容特別有用。

PDF渲染:渲染PDF以便在應用程序中顯示,允許您直接在C#程序中查看和互動PDF文檔。

PDF編輯:通過添加、刪除或更新文本、圖像和其他內容來修改現有的PDF文檔。您還可以操作頁面佈局和結構。

PDF表單:創建、填寫並從互動PDF表單中提取數據,使處理調查、問卷和其他數據捕獲應用變得容易。

PDF加密:通過使用各種加密算法來加密PDF,並設置查看、編輯和打印的權限來保護PDF。

PDF文本提取:從PDF文檔中提取文本和數據,簡化了索引、搜索或數據提取內容的解析和分析。

圖像和圖形支持:在PDF中添加和操作圖像、形狀和圖形元素,允許豐富的視覺內容。

PDF打印:直接從您的C#應用程序中將PDF打印到實體或虛擬打印機。

高級文本格式:對PDF文檔中的文本應用各種字體樣式、顏色和格式選項。

PDF合併和拆分:將多個PDF文檔合併為一個,或根據需要將大型PDF拆分為較小部分。

PDF可訪問性:通過添加標籤和替代文本等可訪問性功能,確保您的PDF文檔對殘障人士是可訪問的。

跨平台支持:IronPDF在Windows、Mac和Linux環境中工作,使您能夠構建跨平台應用程序。

許可選項:IronPDF提供靈活的 授權選項, 包括試用版本,供開發者選擇最適合他們需求的產品。

結論

總結,使用 C# 的 ZIP 壓縮檔案提供了一套有價值的工具,可以應對各種情況,從壓縮文件以便儲存或分發到高效管理數據。無論您是在建立、解壓縮還是操作 ZIP 壓縮檔案,System.IO.Compression 命名空間都提供一個用戶友好且功能強大的工具包。此外,雖然 ZIP 壓縮檔案對於管理文件相關的任務至關重要,但值得注意的是,在更廣泛的文件和報告生成情況下,像 IronPDF 這樣的庫擴展了 C# 應用程序的能力,提供全面的 PDF 生成、編輯和渲染,使之成為更複雜的以文件為中心的需求的強大選擇。通過將 C# 的本地 ZIP 壓縮檔案功能與 IronPDF 的高級 PDF 功能相結合,開發人員可以創建多功能且完整的文件管理解決方案,以滿足其多樣化的需求。

< 上一頁
IronXL與GemBox.Spreadsheet之間的比較
下一個 >
EPPlus讀取 Excel 到 Datatable 的C# (IronXL 教程)

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 NuGet 下載 總下載次數: 1,010,881 查看許可證 >