ZipFileExtensions.ExtractToDirectory Méthode

Définition

Surcharges

Nom Description
ExtractToDirectory(ZipArchive, String)

Extrait tous les fichiers de l’archive zip dans un répertoire du système de fichiers.

ExtractToDirectory(ZipArchive, String, Boolean)

Extrait tous les fichiers de l’archive dans un répertoire sur le système de fichiers.

ExtractToDirectory(ZipArchive, String)

Extrait tous les fichiers de l’archive zip dans un répertoire du système de fichiers.

public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(this System.IO.Compression.ZipArchive source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String)

Paramètres

source
ZipArchive

Archive zip à partir de laquelle extraire des fichiers.

destinationDirectoryName
String

Chemin d’accès au répertoire dans lequel placer les fichiers extraits. Vous pouvez spécifier un chemin relatif ou absolu. Un chemin relatif est interprété comme relatif au répertoire de travail actuel.

Exceptions

destinationDirectoryName est Empty, contient uniquement un espace blanc ou contient au moins un caractère non valide.

destinationDirectoryName a la valeur null.

Le chemin spécifié dépasse la longueur maximale définie par le système.

Le chemin spécifié n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).

Le nom d’une entrée dans l’archive est Empty, contient uniquement un espace blanc ou contient au moins un caractère non valide.

-ou-

L’extraction d’une entrée à partir de l’archive créerait un fichier qui se trouve en dehors du répertoire spécifié par destinationDirectoryName. (Par exemple, cela peut se produire si le nom d’entrée contient des accesseurs d’annuaire parents.)

-ou-

Deux entrées ou plus dans l’archive portent le même nom.

L’appelant n’a pas l’autorisation requise pour écrire dans le répertoire de destination.

destinationDirectoryName contient un format non valide.

Une entrée d’archivage est introuvable ou endommagée.

-ou-

Une entrée d’archive a été compressée à l’aide d’une méthode de compression qui n’est pas prise en charge.

Exemples

L’exemple suivant montre comment créer une entrée dans une archive zip à partir d’un fichier existant et extraire l’archive dans un nouveau répertoire.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Remarques

Cette méthode crée le répertoire spécifié par destinationDirectoryName. La méthode crée également des sous-répertoires qui reflètent la hiérarchie dans l’archive zip. Si une erreur se produit lors de l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif que celui spécifié par destinationDirectoryName son entrée source à la racine de l’archive.

S’applique à

ExtractToDirectory(ZipArchive, String, Boolean)

Extrait tous les fichiers de l’archive dans un répertoire sur le système de fichiers.

public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string * bool -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String, overwriteFiles As Boolean)

Paramètres

source
ZipArchive

À ZipArchive extraire.

destinationDirectoryName
String

Chemin d’accès au répertoire de destination sur le système de fichiers. Le chemin peut être relatif ou absolu. Un chemin relatif est interprété comme relatif au répertoire de travail actuel.

overwriteFiles
Boolean

true pour remplacer les fichiers existants ; false Sinon.

Exceptions

destinationDirectoryName est une chaîne de longueur nulle, contient uniquement des espaces blancs, ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

destinationDirectoryName a la valeur null.

Le chemin d’accès spécifié, le nom de fichier ou les deux dépassent la longueur maximale définie par le système.

Le chemin spécifié n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).

Le nom d’une ZipArchiveEntry longueur nulle contient uniquement des espaces blancs, ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

-ou-

L’extraction d’un ZipArchiveEntry fichier de destination aurait entraîné l’extérieur d’un fichier destinationDirectoryName de destination (par exemple, si le nom d’entrée contient des accesseurs de répertoire parent).

-ou-

A ZipArchiveEntry a le même nom qu’une entrée déjà extraite de la même archive.

L’appelant n’a pas l’autorisation requise.

destinationDirectoryName est dans un format non valide.

Un a ZipArchiveEntry été introuvable ou endommagé.

-ou-

Un ZipArchiveEntry a été compressé à l’aide d’une méthode de compression qui n’est pas prise en charge.

Remarques

Le répertoire spécifié peut déjà exister. Cette méthode crée le répertoire spécifié et tous les sous-répertoires si nécessaire.

En cas d’erreur lors de l’extraction de l’archive, l’archive reste partiellement extraite.

Chaque entrée est extraite de sorte que le fichier extrait ait le même chemin relatif que destinationDirectoryName l’entrée à la racine de l’archive.

Si un fichier à archiver a une heure de dernière modification non valide, la première date et l’heure représentées au format d’horodatage Zip (minuit le 1er janvier 1980) sont utilisées.

S’applique à