ZipFile.ExtractToDirectory Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.