ZIP、RAR、TAR、GZIP、BZIP2 等档案通常用于在单个容器中存储多个文件和文件夹。归档文件的另一个主要原因是使用压缩算法减小文件总大小。就像从各种文件格式的文档中解析和提取数据一样,您可以以相同的方式处理归档文件。您可以从存档中压缩的文件中提取文本、图像甚至元数据。在本文中,我们将讨论如何在您的 .NET 应用程序中使用 C# 提取 ZIP 存档数据。
以下主题涵盖以下内容:
.NET API 提取 ZIP 文件数据
GroupDocs.Parser 为开发者提供文档解析解决方案。我将在本文的 C# 示例中使用其 .NET API 来提取 ZIP 文件数据。 API 还允许从一长串 支持的文档格式 中提取文本、图像和元数据,例如文字处理文档、演示文稿、电子表格、电子邮件、数据库、电子书等。
您可以从 下载部分 下载 DLLs 或 MSI 安装程序,或者通过 NuGet 将其包添加到您的 .NET 应用程序来安装 API。
PM> Install-Package GroupDocs.Parser
如何在 C# 中提取 ZIP 文件数据
GroupDocs.Parser for .NET 支持从各种压缩文件格式(如 ZIP、RAR、TAR、BZIP2 和 GZIP) 中提取数据。从压缩文件中检索文件集合后,您可以进一步从每个文件中提取任何类型的数据。
以下步骤显示了如何提取 ZIP 文件数据并从 C# 中的每个包含的文件中检索文本。
- 使用 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 的更多详细信息或了解,请访问 文档。如有疑问,请通过 论坛 联系我们。