ZIP、RAR、TAR、GZIP、BZIP2 等壓縮文件通常用於在單個容器中存儲多個文件和文件夾。歸檔文件的另一個主要原因是使用壓縮算法減少總文件大小。就像從各種文件格式的文檔中解析和提取數據一樣,您可以以同樣的方式對待歸檔文件。您可以從存檔中壓縮的文件中提取文本、圖像甚至元數據。在本文中,我們將討論如何通過 .NET 應用程序使用 C# 提取 ZIP 存檔數據。
以下主題涵蓋如下:
用於提取 ZIP 文件數據的 .NET API
GroupDocs.Parser 為開發者提供文檔解析解決方案。我將在本文的 C# 示例中使用其 .NET API 提取 ZIP 文件數據。 API 還允許從一長串支持的文檔格式 中提取文本、圖像和元數據,例如文字處理文檔、演示文稿、電子表格、電子郵件、數據庫、電子書等。
您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或者通過 NuGet 將其包添加到您的 .NET 應用程序來安裝 API。
PM> Install-Package GroupDocs.Parser
如何在 C# 中提取 ZIP 文件數據
GroupDocs.Parser for .NET 支持從各種壓縮文件格式(如 ZIP、RAR、TAR、BZIP2 和 GZIP)中提取數據。從壓縮文件中檢索文件集合後,您可以進一步從每個文件中提取任何類型的數據。
以下步驟顯示如何在 C# 中提取 ZIP 文件數據並從每個封閉文件中檢索文本。
- 使用 Parser 類加載 ZIP 存檔。
- 使用 GetContainer 方法獲取附件
- 遍歷附件集合。
- 對於每個附件,您可以使用 Parser 類的相應方法獲取其不同類型的數據。
源代碼顯示瞭如何使用 C# 提取 ZIP 文件數據。在此示例中,我將從 ZIP 存檔中的所有文件中提取整個文本。
// 在 C# 中提取 ZIP 存檔數據
using (Parser parser = new Parser(@"path/sample.zip"))
{
// 從容器中提取附件
IEnumerable<ContainerItem> attachments = parser.GetContainer();
// 遍歷實體集合
foreach (ContainerItem item in attachments)
{
// 打印文件信息
Console.WriteLine("-----------------------------------");
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("File Size: " + item.Size + " Bytes");
Console.WriteLine("-----------------------------------");
try
{
using (Parser attachmentParser = item.OpenParser())
{
// 提取 ZIP 實體文本
using (TextReader reader = attachmentParser.GetText())
{
Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
}
}
}
catch (UnsupportedDocumentFormatException)
{
Console.WriteLine("Isn't supported.");
}
}
}
上述源代碼的輸出顯示了從 ZIP 文件中的一個 PDF 文件中檢索到的文本。
-----------------------------------
Name: sample.pdf
File Size: 33370 Bytes
-----------------------------------
Heading
This is the first paragraph of the sample document that contains some sample
text, bulleted list, numbered list and more.
• Bullet Item 1
• Bullet Item 2
• Bullet Item 3
This is the second paragraph of the sample document and after this, there is a
numbered list:
1. Numbered Item 1
2. Numbered Item 2
3. Numbered Item 3
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以便在不受評估限制的情況下使用 API。
結論
總而言之,您學習瞭如何在 .NET 應用程序中使用 C# 提取 ZIP 存檔數據。更具體地說,您現在可以從 ZIP、RAR、TAR、GZIP 和 BZIP 文件中提取數據。您甚至可以為壓縮文件構建自己的數據提取 .NET 應用程序。有關更多詳細信息或了解 API,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。