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