ZipFile.ExtractToDirectory Méthode

Définition

Extrait tous les fichiers de l'archive zip spécifiée vers un répertoire sur le système de fichiers.

Surcharges

ExtractToDirectory(String, String, Encoding, Boolean)

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

ExtractToDirectory(Stream, String, Encoding, Boolean)

Extrait tous les fichiers de l’archive zip stockée dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers, utilise l’encodage de caractères spécifié pour les noms d’entrée et permet éventuellement de choisir si les fichiers du répertoire de destination doivent être remplacés.

ExtractToDirectory(String, String, Encoding)

Extrait tous les fichiers de l'archive zip spécifiée vers un répertoire sur le système de fichiers et utilise l'encodage de caractères spécifié pour les noms d'entrée.

ExtractToDirectory(String, String, Boolean)

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

ExtractToDirectory(Stream, String, Boolean)

Extrait tous les fichiers de l’archive zip stockée dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers et permet éventuellement de choisir si les fichiers du répertoire de destination doivent être remplacés.

ExtractToDirectory(String, String)

Extrait tous les fichiers de l'archive zip spécifiée vers un répertoire sur le système de fichiers.

ExtractToDirectory(Stream, String)

Extrait tous les fichiers de l’archive zip stockées dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers.

ExtractToDirectory(Stream, String, Encoding)

Extrait tous les fichiers de l’archive zip stockée dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers et utilise l’encodage de caractères spécifié pour les noms d’entrée.

ExtractToDirectory(String, String, Encoding, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Paramètres

sourceArchiveFileName
String

Chemin dans le système de fichiers qui mène à l’archive à extraire.

destinationDirectoryName
String

Chemin du répertoire de destination dans le système de fichiers.

entryNameEncoding
Encoding

Encodage à utiliser pendant la lecture de noms d’entrées dans ce ZipArchive.

overwriteFiles
Boolean

true pour remplacer les fichiers ; false dans le cas contraire.

Exceptions

sourceArchiveFileName ou destinationDirectoryName est une chaîne de longueur nulle, contient seulement un espace blanc ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

- ou -

entryNameEncoding a pour valeur un encodage Unicode autre qu’UTF-8.

sourceArchiveFileName ou destinationDirectoryName est null.

sourceArchiveFileName ou destinationDirectoryName spécifie un chemin, un nom de fichier ou les deux qui dépassent la longueur maximale définie par le système.

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

overwriteFiles est false et une entrée d’archive à extraire a le même nom qu’un fichier qui existe déjà dans destinationDirectoryName.

- ou -

Une erreur d’E/S s’est produite.

- ou -

Le nom d’un ZipArchiveEntry a une longueur nulle, contient seulement un espace blanc ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

- ou -

L’extraction d’un ZipArchiveEntry aurait pour résultat un fichier de destination situé à l’extérieur du répertoire de destination (par exemple, en raison des accesseurs du répertoire parent).

- ou -

Un 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.

sourceArchiveFileName ou destinationDirectoryName a un format non valide.

sourceArchiveFileName est introuvable.

L’archive spécifiée par sourceArchiveFileName n’est pas un ZipArchive valide.

- ou -

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

- ou -

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

Remarques

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

Chaque entrée sera extraite de telle sorte que le fichier extrait ait le même chemin relatif au destinationDirectoryName que l’entrée a pour l’archive.

Les sourceArchiveFileName paramètres et destinationDirectoryName acceptent les chemins d’accès relatifs et absolus. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

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

S’applique à

ExtractToDirectory(Stream, String, Encoding, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrait tous les fichiers de l’archive zip stockée dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers, utilise l’encodage de caractères spécifié pour les noms d’entrée et permet éventuellement de choisir si les fichiers du répertoire de destination doivent être remplacés.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Paramètres

source
Stream

Flux à partir duquel l’archive zip doit être extraite.

destinationDirectoryName
String

Chemin d'accès au répertoire dans lequel placer les fichiers extraits, spécifié sous forme de chemin d'accès relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

entryNameEncoding
Encoding

Encodage à utiliser lors de la lecture ou de l'écriture des noms d'entrée dans cette archive. Spécifie une valeur pour ce paramètre uniquement lorsqu'un encodage est obligatoire pour l'interopérabilité avec les outils et les bibliothèques d'archivage de zip qui ne prennent pas en charge l'encodage UTF-8 pour les noms d'entrée.

overwriteFiles
Boolean

true pour remplacer les fichiers ; false dans le cas contraire.

Exceptions

destinationDirectoryName> est Empty, contient uniquement des espaces blancs ou contient au moins un caractère non valide.

- ou -

entryNameEncoding a pour valeur un encodage Unicode autre qu’UTF-8.

destinationDirectoryName ou source est null.

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

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

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée d’archivage pourrait créer 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 de répertoire parent.)

- ou -

overwriteFiles est false et une entrée d’archive à extraire a le même nom qu’une entrée qui a déjà été extraite ou qui existe dans destinationDirectoryName.

L’appelant n’a pas l’autorisation requise pour accéder à l’archive ou au répertoire de destination.

destinationDirectoryName contient un format non valide.

L’archive contenue dans le source flux n’est pas une archive zip valide.

- ou -

Une entrée d’archivage 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.

Remarques

Cette méthode crée le répertoire spécifié et tous les sous-répertoires. Le répertoire de destination ne peut pas encore exister. Les exceptions liées à la validation des chemins d’accès dans les destinationDirectoryName fichiers ou dans l’archive zip contenue dans source les paramètres sont levées avant l’extraction. Sinon, si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif au répertoire spécifié par destinationDirectoryName que son entrée source à 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 pouvant être représentées au format d’horodatage Zip (minuit le 1er janvier 1980) seront utilisées.

S’applique à

ExtractToDirectory(String, String, Encoding)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrait tous les fichiers de l'archive zip spécifiée vers un répertoire sur le système de fichiers et utilise l'encodage de caractères spécifié pour les noms d'entrée.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)

Paramètres

sourceArchiveFileName
String

Chemin d’accès à l’archive qui doit être extraite.

destinationDirectoryName
String

Chemin d'accès au répertoire dans lequel placer les fichiers extraits, spécifié sous forme de chemin d'accès relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

entryNameEncoding
Encoding

Encodage à utiliser lors de la lecture ou de l'écriture des noms d'entrée dans cette archive. Spécifie une valeur pour ce paramètre uniquement lorsqu'un encodage est obligatoire pour l'interopérabilité avec les outils et les bibliothèques d'archivage de zip qui ne prennent pas en charge l'encodage UTF-8 pour les noms d'entrée.

Exceptions

destinationDirectoryName ou sourceArchiveFileName est Empty, ne contient qu’un espace blanc ou contient au moins un caractère non valide.

- ou -

entryNameEncoding a pour valeur un encodage Unicode autre qu’UTF-8.

destinationDirectoryName ou sourceArchiveFileName est null.

Le chemin d’accès spécifié dans destinationDirectoryName ou sourceArchiveFileName dépasse la longueur maximale définie par le système.

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

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée d’archivage pourrait créer 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 de répertoire parent.)

- ou -

Une entrée d’archive à extraire a le même nom qu’une entrée qui a déjà été extraite ou qui existe dans destinationDirectoryName.

L’appelant n’a pas l’autorisation requise pour accéder à l’archive ou au répertoire de destination.

destinationDirectoryName ou sourceArchiveFileName contient un format non valide.

sourceArchiveFileName est introuvable.

L’archive spécifiée par sourceArchiveFileName n’est pas une archive ZIP valide.

- ou -

Une entrée d’archivage 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.

Remarques

Cette méthode crée le répertoire spécifié et tous les sous-répertoires, si nécessaire. Les exceptions liées à la validation des chemins dans les destinationDirectoryName paramètres ou sourceArchiveFileName sont levées avant l’extraction. Sinon, si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin d’accès relatif au répertoire spécifié par destinationDirectoryName que son entrée source à la racine de l’archive.

Si entryNameEncoding est défini sur une valeur autre que null, les noms d’entrée sont décodés selon les règles suivantes :

  • Pour les noms d’entrée pour lesquels l’indicateur d’encodage de langue (dans l’indicateur de bits universel de l’en-tête de fichier local) n’est pas défini, les noms d’entrée sont décodés à l’aide de l’encodage spécifié.
  • Pour les entrées où l’indicateur d’encodage de langue est défini, les noms des entrées sont décodés à l’aide de UTF-8.

Si entryNameEncoding a la valeur null, les noms d’entrée sont décodés selon les règles suivantes :

  • Pour les entrées où l’indicateur d’encodage de langue (dans l’indicateur de bits universel de l’en-tête de fichier local) n’est pas défini, les noms d’entrée sont décodés à l’aide de la page de codes système par défaut actuelle.
  • Pour les entrées où l’indicateur d’encodage de langue est défini, les noms des entrées sont décodés à l’aide de UTF-8.

S’applique à

ExtractToDirectory(String, String, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

Paramètres

sourceArchiveFileName
String

Chemin dans le système de fichiers qui mène à l’archive à extraire.

destinationDirectoryName
String

Chemin du répertoire de destination dans le système de fichiers.

overwriteFiles
Boolean

true pour remplacer les fichiers ; false dans le cas contraire.

Exceptions

sourceArchiveFileName ou destinationDirectoryName est une chaîne de longueur nulle, contient seulement un espace blanc ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

sourceArchiveFileName ou destinationDirectoryName est null.

sourceArchiveFileName ou destinationDirectoryName spécifie un chemin, un nom de fichier ou les deux qui dépassent la longueur maximale définie par le système.

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

overwriteFiles est false et destinationDirectoryName contient déjà un fichier portant le même nom qu’un fichier en cours d’extraction.

- ou -

Une erreur d’E/S s’est produite.

- ou -

Le nom d’un ZipArchiveEntry a une longueur nulle, contient seulement un espace blanc ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

- ou -

L’extraction d’un ZipArchiveEntry aurait pour résultat un fichier de destination situé à l’extérieur du répertoire de destination (par exemple, en raison des accesseurs du répertoire parent).

- ou -

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

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

sourceArchiveFileName ou destinationDirectoryName a un format non valide.

sourceArchiveFileName est introuvable.

L’archive spécifiée par sourceArchiveFileName n’est pas un ZipArchive valide.

- ou -

Un ZipArchiveEntry n’a pas été trouvé ou était endommagé.

- ou -

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

Remarques

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

Chaque entrée est extraite de telle sorte que le fichier extrait ait le même chemin d’accès relatif au destinationDirectoryName que l’entrée a pour l’archive.

Les sourceArchiveFileName paramètres et destinationDirectoryName acceptent les chemins d’accès relatifs et absolus. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

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

S’applique à

ExtractToDirectory(Stream, String, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrait tous les fichiers de l’archive zip stockée dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers et permet éventuellement de choisir si les fichiers du répertoire de destination doivent être remplacés.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

Paramètres

source
Stream

Flux à partir duquel l’archive zip doit être extraite.

destinationDirectoryName
String

Chemin d'accès au répertoire dans lequel placer les fichiers extraits, spécifié sous forme de chemin d'accès relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

overwriteFiles
Boolean

true pour remplacer les fichiers ; false dans le cas contraire.

Exceptions

destinationDirectoryName> est Empty, contient uniquement des espaces blancs ou contient au moins un caractère non valide.

destinationDirectoryName ou source est null.

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

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

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée d’archivage pourrait créer 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 de répertoire parent.)

- ou -

overwriteFiles est false et une entrée d’archive à extraire porte le même nom qu’une entrée qui a déjà été extraite ou qui existe dans destinationDirectoryName.

L’appelant n’a pas l’autorisation requise pour accéder à l’archive ou au répertoire de destination.

destinationDirectoryName contient un format non valide.

L’archive contenue dans le source flux n’est pas une archive zip valide.

- ou -

Une entrée d’archivage 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.

Remarques

Cette méthode crée le répertoire spécifié et tous les sous-répertoires. Le répertoire de destination ne peut pas déjà exister. Les exceptions liées à la validation des chemins dans les destinationDirectoryName fichiers ou dans l’archive zip contenue dans source les paramètres sont levées avant l’extraction. Sinon, si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin d’accès relatif au répertoire spécifié par destinationDirectoryName que son entrée source à la racine de l’archive. Si un fichier à archiver a une heure de dernière modification non valide, la première date et heure pouvant être représentées au format d’horodatage Zip (minuit le 1er janvier 1980) est utilisée.

S’applique à

ExtractToDirectory(String, String)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrait tous les fichiers de l'archive zip spécifiée vers un répertoire sur le système de fichiers.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)

Paramètres

sourceArchiveFileName
String

Chemin d’accès à l’archive qui doit être extraite.

destinationDirectoryName
String

Chemin d'accès au répertoire dans lequel placer les fichiers extraits, spécifié sous forme de chemin d'accès relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

Exceptions

destinationDirectoryName ou sourceArchiveFileName est Empty, ne contient qu’un espace blanc ou contient au moins un caractère non valide.

destinationDirectoryName ou sourceArchiveFileName est null.

Le chemin d’accès spécifié dans destinationDirectoryName ou sourceArchiveFileName dépasse la longueur maximale définie par le système.

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

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée d’archivage pourrait créer 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 de répertoire parent.)

- ou -

Une entrée d’archive à extraire porte le même nom qu’une entrée qui a déjà été extraite ou qui existe dans destinationDirectoryName.

L’appelant n’a pas l’autorisation requise pour accéder à l’archive ou au répertoire de destination.

destinationDirectoryName ou sourceArchiveFileName contient un format non valide.

sourceArchiveFileName est introuvable.

L’archive spécifiée par sourceArchiveFileName n’est pas une archive ZIP valide.

- ou -

Une entrée d’archivage 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

Cet exemple montre comment créer et extraire une archive zip à l’aide de la ZipFile classe . Il compresse le contenu d’un dossier dans une archive zip et extrait ce contenu dans un nouveau dossier. Pour utiliser la classe ZipFile, vous devez référencer l’assembly System.IO.Compression.FileSystem dans votre projet.

using System;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @".\start";
        string zipPath = @".\result.zip";
        string extractPath = @".\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}
open System.IO.Compression

let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"

ZipFile.CreateFromDirectory(startPath, zipPath)

ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = ".\start"
        Dim zipPath As String = ".\result.zip"
        Dim extractPath As String = ".\extract"

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

Remarques

Cette méthode crée le répertoire spécifié et tous les sous-répertoires. Le répertoire de destination ne peut pas encore exister. Les exceptions liées à la validation des chemins d’accès dans les destinationDirectoryName paramètres ou sourceArchiveFileName sont levées avant l’extraction. Sinon, si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif au répertoire spécifié par destinationDirectoryName que son entrée source à la racine de l’archive.

S’applique à

ExtractToDirectory(Stream, String)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrait tous les fichiers de l’archive zip stockées dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)

Paramètres

source
Stream

Flux à partir duquel l’archive zip doit être extraite.

destinationDirectoryName
String

Chemin d'accès au répertoire dans lequel placer les fichiers extraits, spécifié sous forme de chemin d'accès relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

Exceptions

destinationDirectoryName> est Empty, contient uniquement des espaces blancs ou contient au moins un caractère non valide.

destinationDirectoryName ou source est null.

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

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

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée d’archivage pourrait créer 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 de répertoire parent.)

- ou -

Une entrée d’archive à extraire a le même nom qu’une entrée qui a déjà été extraite ou qui existe dans destinationDirectoryName.

L’appelant n’a pas l’autorisation requise pour accéder à l’archive ou au répertoire de destination.

destinationDirectoryName contient un format non valide.

L’archive contenue dans le source flux n’est pas une archive zip valide.

- ou -

Une entrée d’archivage 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.

Remarques

Cette méthode crée le répertoire spécifié et tous les sous-répertoires. Le répertoire de destination ne peut pas encore exister. Les exceptions liées à la validation des chemins d’accès dans les destinationDirectoryName fichiers ou dans l’archive zip contenue dans source les paramètres sont levées avant l’extraction. Sinon, si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif au répertoire spécifié par destinationDirectoryName que son entrée source à 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 pouvant être représentées au format d’horodatage Zip (minuit le 1er janvier 1980) seront utilisées.

S’applique à

ExtractToDirectory(Stream, String, Encoding)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrait tous les fichiers de l’archive zip stockée dans le flux spécifié et les place dans le répertoire de destination spécifié sur le système de fichiers et utilise l’encodage de caractères spécifié pour les noms d’entrée.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)

Paramètres

source
Stream

Flux à partir duquel l’archive zip doit être extraite.

destinationDirectoryName
String

Chemin d'accès au répertoire dans lequel placer les fichiers extraits, spécifié sous forme de chemin d'accès relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

entryNameEncoding
Encoding

Encodage à utiliser lors de la lecture ou de l'écriture des noms d'entrée dans cette archive. Spécifie une valeur pour ce paramètre uniquement lorsqu'un encodage est obligatoire pour l'interopérabilité avec les outils et les bibliothèques d'archivage de zip qui ne prennent pas en charge l'encodage UTF-8 pour les noms d'entrée.

Exceptions

destinationDirectoryName> est Empty, contient uniquement des espaces blancs ou contient au moins un caractère non valide.

- ou -

entryNameEncoding a pour valeur un encodage Unicode autre qu’UTF-8.

destinationDirectoryName ou source est null.

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

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

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée d’archivage pourrait créer 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 de répertoire parent.)

- ou -

Une entrée d’archive à extraire a le même nom qu’une entrée qui a déjà été extraite ou qui existe dans destinationDirectoryName.

L’appelant n’a pas l’autorisation requise pour accéder à l’archive ou au répertoire de destination.

destinationDirectoryName contient un format non valide.

L’archive contenue dans le source flux n’est pas une archive zip valide.

- ou -

Une entrée d’archivage 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.

Remarques

Cette méthode crée le répertoire spécifié et tous les sous-répertoires. Le répertoire de destination ne peut pas encore exister. Les exceptions liées à la validation des chemins d’accès dans les destinationDirectoryName fichiers ou dans l’archive zip contenue dans source les paramètres sont levées avant l’extraction. Sinon, si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif au répertoire spécifié par destinationDirectoryName que son entrée source à 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 pouvant être représentées au format d’horodatage Zip (minuit le 1er janvier 1980) seront utilisées.

S’applique à