ZipFileExtensions.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.
Surcharges
ExtractToDirectory(ZipArchive, String) |
Extrait tous les fichiers de l’archive zip vers un répertoire dans le système de fichiers. |
ExtractToDirectory(ZipArchive, String, Boolean) |
Extrait tous les fichiers de l’archive dans un répertoire du système de fichiers. |
ExtractToDirectory(ZipArchive, String)
Extrait tous les fichiers de l’archive zip vers un répertoire dans le 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 les fichiers.
- destinationDirectoryName
- String
Chemin du répertoire dans lequel placer les fichiers extraits. Vous pouvez spécifier un chemin absolu ou relatif. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.
Exceptions
destinationDirectoryName
est Empty, ne contient que des espaces blancs 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 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 de l’archive créerait un fichier 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 -
Plusieurs entrées de l’archive ont le même nom.
L’appelant n’a pas l’autorisation nécessaire pour écrire dans le répertoire de destination.
destinationDirectoryName
contient un format non valide.
Une entrée de l’archive 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 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(ZipArchive, String, Boolean)
Extrait tous les fichiers de l’archive 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, 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 du répertoire de destination dans le système de fichiers. Le chemin peut être 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 existants ; false
Sinon.
Exceptions
destinationArchiveFileName
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.
destinationArchiveFileName
a la valeur null
.
Le chemin et/ou le nom de fichier spécifiés dépassent 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’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 eu pour résultat un fichier de destination situé à l’extérieur de destinationArchiveFileName
(par exemple, si le nom de l’entrée contient des accesseurs de 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.
destinationArchiveFileName
est dans un format non valide.
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
Le répertoire spécifié existe peut-être déjà. 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 telle sorte que le fichier extrait ait le même chemin relatif que celui de 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 pouvant être représentées au format d’horodatage Zip (minuit le 1er janvier 1980) est utilisée.