跳至页脚内容
使用 IRONZIP

如何在 VB .NET 中提取 ZIP 文件

Zip files are a popular way to compress and package multiple files into a single archive. Working with compressed files, such as ZIP archives, is a common task in software development. In VB.NET, developers often need a reliable and efficient way to extract data from ZIP files. One powerful library that simplifies this process is IronZIP. In this article, we'll explore using IronZIP to extract ZIP files in VB.NET.

How to Extract Zip Files in VB.NET

  1. Install IronZIP Library.
  2. Use IronZipArchive.ExtractArchiveToDirectory() method to extract ZIP files.
  3. Use IronZipArchive.ExtractArchiveToDirectory() method to extract password-protected ZIP files.
  4. Use the GetArchiveEntryNames() method to get all the entries of the ZIP file.

What is IronZIP?

IronZIP, a collection of .NET software components for various development needs. IronZIP stands out for its ease of use, performance, and support for a wide range of compression and decompression features.

Use Cases of IronZIP

Some use cases of IronZIP are:

  1. File compression: You can use IronZIP to reduce the size of your files and save disk space or bandwidth.
  2. File distribution: You can use IronZIP to bundle multiple files into a single archive, making sharing or transferring them easier.
  3. File encryption: You can use IronZIP to protect your files with passwords and permissions, and prevent unauthorized access or modification.
  4. File extraction: You can use IronZIP to open and read ZIP files from various sources, such as local files, streams, or URLs, and extract the contents or metadata.
  5. File management: You can use IronZIP to manipulate ZIP files, such as adding, deleting, or merging entries, changing compression formats, or validating the integrity of the archive.

Getting Started with IronZIP

To begin using IronZIP in your VB.NET project, we'll need to install the IronZIP library. We can easily do this by using NuGet Package Manager Console or Visual Studio's NuGet Package Manager.

Install IronZIP NuGet Package

Write the following command in the NuGet Package Manager Console:

Install-Package IronZip

Press Enter to execute the command. NuGet will download and install the IronZIP package along with its dependencies. You'll see output in the console indicating the progress of the installation.

VB.NET Extract Zip file

Now, let's explore a simple way to extract ZIP files using IronZIP:

Imports IronZip

Module Program
    Sub Main(args As String())
        ' Set paths for the ZIP file and the extraction directory
        Dim extractPath As String = "D:\ExtractedFiles"
        Dim zipPath As String = "D:\Docs.zip"

        ' Extract the ZIP file to the specified directory
        IronZipArchive.ExtractArchiveToDirectory(zipPath, extractPath)
    End Sub
End Module
Imports IronZip

Module Program
    Sub Main(args As String())
        ' Set paths for the ZIP file and the extraction directory
        Dim extractPath As String = "D:\ExtractedFiles"
        Dim zipPath As String = "D:\Docs.zip"

        ' Extract the ZIP file to the specified directory
        IronZipArchive.ExtractArchiveToDirectory(zipPath, extractPath)
    End Sub
End Module
VB .NET

We have used the ExtractArchiveToDirectory method of the IronZipArchive class, which extracts all the entries from a ZIP archive to a specified directory. It passes two arguments to the method: the path of the ZIP file (“D:\Docs.zip”) and the path of the destination directory (“D:\ExtractedFiles”). If different directories are not specified, it will extract files into the default program folder.

Output

How to Extract Zip Files in VB .NET: Figure 1 - The output of the extracted files in the default folder

Similarly, we can also extract Tar, GZip, and BZip2 files.

Extract all the Files from Password-Protected ZIP Archive

To extract all files from a password-protected ZIP archive using IronZIP in VB.NET, we can use the following code snippet:

Imports IronZip

Module Program
    Sub Main(args As String())
        ' Extract password-protected ZIP archive using a password
        IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedZip.zip", "extractedDocs", "myPassw0rd")
    End Sub
End Module
Imports IronZip

Module Program
    Sub Main(args As String())
        ' Extract password-protected ZIP archive using a password
        IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedZip.zip", "extractedDocs", "myPassw0rd")
    End Sub
End Module
VB .NET

The above VB.NET code uses the IronZIP library to extract items of a password-protected ZIP archive. It calls the ExtractArchiveToDirectory method of the IronZipArchive class, which extracts all the entries from a ZIP archive to a specified directory. It passes three arguments to the method: the full path of the ZIP file (“PasswordProtectedZip.zip”), the path of the destination directory (“extractedDocs”), and the password of the ZIP file (“myPassw0rd”).

IronZIP supports AES-128, AES-256, and traditional encryption algorithms. If the password is incorrect or the ZIP file is not encrypted, the method will throw an exception. The extracted files are:

How to Extract Zip Files in VB .NET: Figure 2 - The output of the password-protected extracted files

View Entries of ZIP file

We can view the entries of a compressed file easily by using the IronZIP. The following code opens the ZIP file and displays its entries on the console:

Imports IronZip

Sub Main(args As String())
    ' Specify the ZIP file path
    Dim startPath As String = "D:\Docs.zip"

    ' Open the ZIP archive and list entry names
    Using archive As New IronZipArchive(startPath)
        Dim names As List(Of String) = archive.GetArchiveEntryNames()

        ' Print each entry name to the console
        For Each name As String In names
            Console.WriteLine(name)
        Next name
    End Using
End Sub
Imports IronZip

Sub Main(args As String())
    ' Specify the ZIP file path
    Dim startPath As String = "D:\Docs.zip"

    ' Open the ZIP archive and list entry names
    Using archive As New IronZipArchive(startPath)
        Dim names As List(Of String) = archive.GetArchiveEntryNames()

        ' Print each entry name to the console
        For Each name As String In names
            Console.WriteLine(name)
        Next name
    End Using
End Sub
VB .NET

The above Visual Basic .NET code snippet uses the IronZIP library to extract the names of the entries in a ZIP archive. The code does the following:

  • It creates a new instance of the IronZipArchive class, passing the path of the ZIP file (“D:\Docs.zip”) as a parameter. This opens the ZIP file and loads its contents into memory. The instance is assigned to a variable named archive and is wrapped in a Using statement, which ensures that the ZIP file is closed and disposed of when the code block ends.

  • It calls the GetArchiveEntryNames method of the archive object, which returns a list of strings containing the names of all the entries in the ZIP archive. The list is assigned to a variable named names.

  • It iterates over the names list using a For Each loop and prints each name to the console using the Console.WriteLine method. This displays the names of the files and folders in the ZIP archive.

How to Extract Zip Files in VB .NET: Figure 3 - Output for the previous code example

Conclusion

In conclusion, IronZIP emerges as a powerful tool for handling ZIP archives in VB.NET, offering a rich set of features for compression, extraction, and manipulation. Its versatility extends beyond the basics, allowing developers to seamlessly integrate functionalities like password protection, encryption, and efficient file management. By exploring the examples provided, you can unlock the full potential of IronZIP in your VB.NET projects.

As demonstrated, the library simplifies the extraction process, enabling developers to effortlessly handle password-protected ZIP archives, view file entries, and perform various operations with ease. Moreover, IronZIP's compatibility with a range of compression formats and support across multiple platforms makes it a valuable asset for developers working in diverse environments. IronZIP provides a free trial option that aligns perfectly with their requirements.

常见问题解答

如何在 VB.NET 中提取 ZIP 文件?

您可以使用 IronZIP 的 ExtractArchiveToDirectory() 方法在 VB.NET 中提取 ZIP 文件。此方法允许您指定 ZIP 文件路径和文件将被提取到的目标目录。

IronZIP 能处理受密码保护的 ZIP 文件吗?

是的,IronZIP 可以处理受密码保护的 ZIP 文件。您可以使用 ExtractArchiveToDirectory() 方法并提供密码参数来成功提取这些文件。

我可以使用什么方法在 VB.NET 中列出 ZIP 文件的条目?

您可以使用 IronZIP 的 GetArchiveEntryNames() 方法列出 ZIP 文件中的所有条目。此方法返回一个条目名称列表,您可以打印或记录以供参考。

使用 IronZIP 管理 ZIP 文件有哪些好处?

IronZIP 提供易用性、高性能和广泛的压缩和解压缩功能。它支持文件压缩以节省空间,通过打包文件进行分发,加密以实现安全,以及文件管理操作,如在 ZIP 文件中添加或删除条目。

IronZIP 支持不同的加密算法吗?

是的,IronZIP 支持多种加密算法,包括 AES-128、AES-256 和传统加密算法,确保安全处理 ZIP 存档中的文件。

IronZIP 为开发人员提供试用版本吗?

是的,IronZIP 提供一个免费试用版,允许开发人员在做出购买决定之前探索其功能和能力。

IronZIP 能处理不同的压缩格式吗?

是的,IronZIP 支持多种压缩格式,如 ZIP、Tar、GZip 和 BZip2,提供灵活性以满足各种文件管理需求。

如何在 VB.NET 项目中安装 IronZIP?

您可以使用 NuGet 包管理器控制台在您的 VB.NET 项目中安装 IronZIP,命令为:Install-Package IronZIP

IronZIP 能在 VB.NET 中从不同来源提取文件吗?

是的,IronZIP 可以从各种来源提取文件,包括本地文件、流或 URL,提供在 VB.NET 项目中多功能的提取能力。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。