ExtractToFile Method (ZipArchiveEntry, String, Boolean)
Collapse the table of content
Expand the table of content

ZipFileExtensions.ExtractToFile Method (ZipArchiveEntry, String, Boolean)

.NET Framework (current version)
 

Extracts an entry in the zip archive to a file, and optionally overwrites an existing file that has the same name.

Namespace:   System.IO.Compression
Assembly:  System.IO.Compression.FileSystem (in System.IO.Compression.FileSystem.dll)

<ExtensionAttribute>
Public Shared Sub ExtractToFile (
	source As ZipArchiveEntry,
	destinationFileName As String,
	overwrite As Boolean
)

Parameters

source
Type: System.IO.Compression.ZipArchiveEntry

The zip archive entry to extract a file from.

destinationFileName
Type: System.String

The path of the file to create from the contents of the entry. You can specify either a relative or an absolute path. A relative path is interpreted as relative to the current working directory.

overwrite
Type: System.Boolean

true to overwrite an existing file that has the same name as the destination file; otherwise, false.

Exception Condition
ArgumentException

destinationFileName is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

-or-

destinationFileName specifies a directory.

ArgumentNullException

destinationFileName is null.

PathTooLongException

The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must not exceed 248 characters, and file names must not exceed 260 characters.

DirectoryNotFoundException

The specified path is invalid (for example, it is on an unmapped drive).

IOException

destinationFileName already exists and overwrite is false.

-or-

An I/O error occurred.

-or-

The entry is currently open for writing.

-or-

The entry has been deleted from the archive.

UnauthorizedAccessException

The caller does not have the required permission to create the new file.

InvalidDataException

The entry is missing from the archive or is corrupt and cannot be read.

-or-

The entry has been compressed by using a compression method that is not supported.

ObjectDisposedException

The zip archive that this entry belongs to has been disposed.

NotSupportedException

destinationFileName is in an invalid format.

-or-

The zip archive for this entry was opened in Create mode, which does not permit the retrieval of entries.

The last write time of the file is set to the last time the entry in the zip archive was changed; this value is stored in the LastWriteTime property.

You cannot use this method to extract a directory; use the ExtractToDirectory method instead.

The following example shows how to iterate through the contents of a zip archive file, and extract files that have a .txt extension. It overwrites an existing file that has the same name in the destination folder. In order to compiler this code example, you must reference the System.IO.Compression and System.IO.Compression.FileSystem assemblies in your project.

Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\example\start.zip"
        Dim extractPath As String = "c:\example\extract"

        Using archive As ZipArchive = ZipFile.OpenRead(zipPath)
            For Each entry As ZipArchiveEntry In archive.Entries
                If entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase) Then
                    entry.ExtractToFile(Path.Combine(extractPath, entry.FullName), True)
                End If
            Next
        End Using
    End Sub

End Module

Universal Windows Platform
Available since 10
.NET Framework
Available since 4.5
Return to top
Show:
© 2016 Microsoft