如何在C#中提取Zip文件

如何在C#中提取Zip文件

在本教程中,您将学习如何使用 C# 代码提取 zip 文件. 使用 Aspose.ZIP 图书馆,您可以轻松地在应用程序中直接将 ZIP、GZip、RAR、TAR 和 7Zip 等不同格式的档案提取。

提取ZIP文件的好处

  • 文件管理:- 简化处理和组织大组文件。

  • 兼容性:- 易于集成到由 Aspose.ZIP 支持的不同文件格式。

  • 自动操作:- 适合需要自动文件提取的应用程序。

原标题:准备环境

  • 设置 Visual Studio 或任何兼容的 .NET IDE。
  • 在 NuGet Package Manager 中安装 Aspose.ZIP。

步骤指南以 C# 提取 Zip 文件

步骤1:安装 Aspose.ZIP

首先,将 Aspose.ZIP 图书馆添加到您的项目中。

Install-Package Aspose.ZIP

步骤2:包含名称空间

添加一个引用到 Aspose.Zip 您的代码中的名称。

using Aspose.Zip;

步骤3:下载 ZIP 文件

打开 ZIP 文件,使用 A FileStream 对象。

FileStream zipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);

步骤4:创建档案对象

加载 The FileStream 在一个档案对象中。

Archive zipArchiveToExtract = new Archive(zipFileToBeExtracted);

步骤5:在档案中计算文件

恢复 ZIP 档案中包含的文件数量。

int numberOfFilesInArchive = zipArchiveToExtract.Entries.Count;

步骤6:提取每个输入

通过档案中的每个输入,并提取文件。

for (int fileCounter = 0; fileCounter < numberOfFilesInArchive; fileCounter++)
{
    ArchiveEntry archiveFileEntry = zipArchiveToExtract.Entries[fileCounter];
    string nameOfFileInZipEntry = archiveFileEntry.Name;
    archiveFileEntry.Extract(nameOfFileInZipEntry);
}

完整的代码样本 提取 ZIP 文件

下面是使用 C# 提取 ZIP 文件的完整例子:

// Open file from disk using a file stream
FileStream zipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);

// Load the Zip file stream into an Archive object
Archive zipArchiveToExtract = new Archive(zipFileToBeExtracted);

// Get the number of files in the archive
int numberOfFilesInArchive = zipArchiveToExtract.Entries.Count;

// Loop through the archive for each file
for (int fileCounter = 0; fileCounter < numberOfFilesInArchive; fileCounter++)
{
    // Get each zip archive entry and extract the file
    ArchiveEntry archiveFileEntry = zipArchiveToExtract.Entries[fileCounter];
    string nameOfFileInZipEntry = archiveFileEntry.Name;
    archiveFileEntry.Extract(nameOfFileInZipEntry);
}

更多信息

  • 此功能不仅支持 ZIP 文件,还支持其他格式,如 GZip、RAR 和 TAR。
  • 您也可以直接将文件提取到内存中,如果需要进一步处理。

结论

此教程已经展示了如何在 C# 中提取 zip 文件使用 Aspose.ZIP. 通过遵循步骤并使用所提供的代码示例,您可以轻松地将 zip 文件提取集成到您的应用程序中。

 中文