ZipFile.Open ZipFile.Open ZipFile.Open ZipFile.Open Method

Définition

Ouvre une archive zip sur le chemin d'accès et dans le mode spécifiés.Opens a zip archive at the specified path and in the specified mode.

Surcharges

Open(String, ZipArchiveMode) Open(String, ZipArchiveMode) Open(String, ZipArchiveMode) Open(String, ZipArchiveMode)

Ouvre une archive zip sur le chemin d'accès et dans le mode spécifiés.Opens a zip archive at the specified path and in the specified mode.

Open(String, ZipArchiveMode, Encoding) Open(String, ZipArchiveMode, Encoding) Open(String, ZipArchiveMode, Encoding) Open(String, ZipArchiveMode, Encoding)

Ouvre une archive ZIP au chemin d'accès spécifié, dans le mode spécifié, et avec un encodage de caractères spécifié pour les noms d'entrée.Opens a zip archive at the specified path, in the specified mode, and by using the specified character encoding for entry names.

Open(String, ZipArchiveMode) Open(String, ZipArchiveMode) Open(String, ZipArchiveMode) Open(String, ZipArchiveMode)

Ouvre une archive zip sur le chemin d'accès et dans le mode spécifiés.Opens a zip archive at the specified path and in the specified mode.

public:
 static System::IO::Compression::ZipArchive ^ Open(System::String ^ archiveFileName, System::IO::Compression::ZipArchiveMode mode);
public static System.IO.Compression.ZipArchive Open (string archiveFileName, System.IO.Compression.ZipArchiveMode mode);
static member Open : string * System.IO.Compression.ZipArchiveMode -> System.IO.Compression.ZipArchive
Public Shared Function Open (archiveFileName As String, mode As ZipArchiveMode) As ZipArchive

Paramètres

archiveFileName
String String String String

Chemin d'accès à l'archive à ouvrir, spécifié sous forme de chemin d'accès relatif ou absolu.The path to the archive to open, specified as a relative or absolute path. Un chemin d'accès relatif est interprété comme étant relatif au répertoire de travail actif.A relative path is interpreted as relative to the current working directory.

mode
ZipArchiveMode ZipArchiveMode ZipArchiveMode ZipArchiveMode

L'une des valeurs d'énumération qui spécifie les actions qui sont autorisées sur les entrées de l'archive ouverte.One of the enumeration values that specifies the actions which are allowed on the entries in the opened archive.

Retours

Archive ZIP ouverte.The opened zip archive.

Exceptions

archiveFileName est Empty, ne contient qu'un espace blanc ou contient au moins un caractère non valide.archiveFileName is Empty, contains only white space, or contains at least one invalid character.

archiveFileName a la valeur null.archiveFileName is null.

Dans archiveFileName, le chemin d’accès spécifié, le nom de fichier spécifié ou les deux dépassent la longueur maximale définie par le système.In archiveFileName, the specified path, file name, or both exceed the system-defined maximum length.

archiveFileName n’est pas valide ou n’existe pas (par exemple, il se trouve sur un lecteur non mappé).archiveFileName is invalid or does not exist (for example, it is on an unmapped drive).

archiveFileName n’a pas pu être ouvert.archiveFileName could not be opened.

ou-or- mode est défini sur Create, mais le fichier spécifié dans le archiveFileName existe déjà.mode is set to Create, but the file specified in archiveFileName already exists.

archiveFileName spécifie un répertoire.archiveFileName specifies a directory.

- ou --or- L’appelant n’a pas l’autorisation requise pour accéder au fichier spécifié dans archiveFileName.The caller does not have the required permission to access the file specified in archiveFileName.

mode spécifie une valeur non valide.mode specifies an invalid value.

mode est défini sur Read, mais le fichier spécifié dans le archiveFileName est introuvable.mode is set to Read, but the file specified in archiveFileName is not found.

archiveFileName contient un format non valide.archiveFileName contains an invalid format.

archiveFileName n’a pas pu être interprété comme une archive ZIP.archiveFileName could not be interpreted as a zip archive.

- ou --or- mode est Update, mais une entrée est manquante ou endommagée et ne peut pas être lue.mode is Update, but an entry is missing or corrupt and cannot be read.

- ou --or- mode est Update, mais une entrée est trop grande pour être contenue dans la mémoire.mode is Update, but an entry is too large to fit into memory.

Exemples

L’exemple suivant montre comment ouvrir une archive zip en mode de mise à jour et ajouter une entrée à l’archive.The following example shows how to open a zip archive in the update mode and add an entry to the archive.

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

Lorsque vous affectez mode au Readparamètre la valeur, l’archive est Open ouverte avec FileMode à partir de l’énumération en tant que valeur du mode de fichier.When you set the mode parameter to Read, the archive is opened with Open from the FileMode enumeration as the file mode value. Si l’archive n’existe pas, une FileNotFoundException exception est levée.If the archive does not exist, a FileNotFoundException exception is thrown. L' mode affectation de Read la valeur au paramètre équivaut à OpenRead l’appel de la méthode.Setting the mode parameter to Read is equivalent to calling the OpenRead method.

Lorsque vous affectez mode au Createparamètre la valeur, l’archive est FileMode.CreateNew ouverte avec comme valeur de mode de fichier.When you set the mode parameter to Create, the archive is opened with FileMode.CreateNew as the file mode value. Si l’archive existe déjà, une IOException exception est levée.If the archive already exists, an IOException is thrown.

Lorsque vous affectez mode au Updateparamètre la valeur, l’archive est FileMode.OpenOrCreate ouverte avec comme valeur de mode de fichier.When you set the mode parameter to Update, the archive is opened with FileMode.OpenOrCreate as the file mode value. Si l’archive existe, elle est ouverte.If the archive exists, it is opened. Les entrées existantes peuvent être modifiées et de nouvelles entrées peuvent être créées.The existing entries can be modified and new entries can be created. Si l’archive n’existe pas, une nouvelle archive est créée. Toutefois, la création d’une archive Update zip en mode n’est pas aussi efficace que Create la création en mode.If the archive does not exist, a new archive is created; however, creating a zip archive in Update mode is not as efficient as creating it in Create mode.

Open(String, ZipArchiveMode, Encoding) Open(String, ZipArchiveMode, Encoding) Open(String, ZipArchiveMode, Encoding) Open(String, ZipArchiveMode, Encoding)

Ouvre une archive ZIP au chemin d'accès spécifié, dans le mode spécifié, et avec un encodage de caractères spécifié pour les noms d'entrée.Opens a zip archive at the specified path, in the specified mode, and by using the specified character encoding for entry names.

public:
 static System::IO::Compression::ZipArchive ^ Open(System::String ^ archiveFileName, System::IO::Compression::ZipArchiveMode mode, System::Text::Encoding ^ entryNameEncoding);
public static System.IO.Compression.ZipArchive Open (string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding entryNameEncoding);
static member Open : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding -> System.IO.Compression.ZipArchive
Public Shared Function Open (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding) As ZipArchive

Paramètres

archiveFileName
String String String String

Chemin d'accès à l'archive à ouvrir, spécifié sous forme de chemin d'accès relatif ou absolu.The path to the archive to open, specified as a relative or absolute path. Un chemin d'accès relatif est interprété comme étant relatif au répertoire de travail actif.A relative path is interpreted as relative to the current working directory.

mode
ZipArchiveMode ZipArchiveMode ZipArchiveMode ZipArchiveMode

L'une des valeurs d'énumération qui spécifie les actions qui sont autorisées sur les entrées de l'archive ouverte.One of the enumeration values that specifies the actions that are allowed on the entries in the opened archive.

entryNameEncoding
Encoding Encoding Encoding Encoding

Encodage à utiliser lors de la lecture ou de l'écriture des noms d'entrée dans cette archive.The encoding to use when reading or writing entry names in this 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.Specify a value for this parameter only when an encoding is required for interoperability with zip archive tools and libraries that do not support UTF-8 encoding for entry names.

Retours

Archive ZIP ouverte.The opened zip archive.

Exceptions

archiveFileName est Empty, ne contient qu'un espace blanc ou contient au moins un caractère non valide.archiveFileName is Empty, contains only white space, or contains at least one invalid character.

- ou --or- entryNameEncoding a pour valeur un encodage Unicode autre qu’UTF-8.entryNameEncoding is set to a Unicode encoding other than UTF-8.

archiveFileName a la valeur null.archiveFileName is null.

Dans archiveFileName, le chemin d’accès spécifié, le nom de fichier spécifié ou les deux dépassent la longueur maximale définie par le système.In archiveFileName, the specified path, file name, or both exceed the system-defined maximum length.

archiveFileName n’est pas valide ou n’existe pas (par exemple, il se trouve sur un lecteur non mappé).archiveFileName is invalid or does not exist (for example, it is on an unmapped drive).

archiveFileName n’a pas pu être ouvert.archiveFileName could not be opened.

ou-or- mode est défini sur Create, mais le fichier spécifié dans le archiveFileName existe déjà.mode is set to Create, but the file specified in archiveFileName already exists.

archiveFileName spécifie un répertoire.archiveFileName specifies a directory.

ou-or- L’appelant n’a pas l’autorisation requise pour accéder au fichier spécifié dans archiveFileName.The caller does not have the required permission to access the file specified in archiveFileName.

mode spécifie une valeur non valide.mode specifies an invalid value.

mode est défini sur Read, mais le fichier spécifié dans le archiveFileName est introuvable.mode is set to Read, but the file specified in archiveFileName is not found.

archiveFileName contient un format non valide.archiveFileName contains an invalid format.

archiveFileName n’a pas pu être interprété comme une archive ZIP.archiveFileName could not be interpreted as a zip archive.

- ou --or- mode est Update, mais une entrée est manquante ou endommagée et ne peut pas être lue.mode is Update, but an entry is missing or corrupt and cannot be read.

- ou --or- mode est Update, mais une entrée est trop grande pour être contenue dans la mémoire.mode is Update, but an entry is too large to fit into memory.

Remarques

Lorsque vous affectez mode au Readparamètre la valeur, l’archive est FileMode.Open ouverte avec comme valeur de mode de fichier.When you set the mode parameter to Read, the archive is opened with FileMode.Open as the file mode value. Si l’archive n’existe pas, une FileNotFoundException exception est levée.If the archive does not exist, a FileNotFoundException exception is thrown. L' mode affectation de Read la valeur au paramètre équivaut à OpenRead l’appel de la méthode.Setting the mode parameter to Read is equivalent to calling the OpenRead method.

Lorsque vous affectez mode au Createparamètre la valeur, l’archive est FileMode.CreateNew ouverte avec comme valeur de mode de fichier.When you set the mode parameter to Create, the archive is opened with FileMode.CreateNew as the file mode value. Si l’archive existe déjà, une IOException exception est levée.If the archive already exists, an IOException is thrown.

Lorsque vous affectez mode au Updateparamètre la valeur, l’archive est FileMode.OpenOrCreate ouverte avec comme valeur de mode de fichier.When you set the mode parameter to Update, the archive is opened with FileMode.OpenOrCreate as the file mode value. Si l’archive existe, elle est ouverte.If the archive exists, it is opened. Les entrées existantes peuvent être modifiées et de nouvelles entrées peuvent être créées.The existing entries can be modified and new entries can be created. Si l’archive n’existe pas, une nouvelle archive est créée. Toutefois, la création d’une archive Update zip en mode n’est pas aussi efficace que Create la création en mode.If the archive does not exist, a new archive is created; however, creating a zip archive in Update mode is not as efficient as creating it in Create mode.

Lorsque vous ouvrez un fichier d’archive zip pour la entryNameEncoding lecture et que nulla la valeur, les noms d’entrée sont décodés selon les règles suivantes:When you open a zip archive file for reading and entryNameEncoding is set to null, entry names are decoded according to the following rules:

  • Lorsque l’indicateur d’encodage linguistique (dans l’indicateur de bit à usage général de l’en-tête de fichier local) n’est pas défini, la page de codes par défaut du système actuelle est utilisée pour décoder le nom de l’entrée.When the language encoding flag (in the general-purpose bit flag of the local file header) is not set, the current system default code page is used to decode the entry name.

  • Lorsque l’indicateur d’encodage linguistique est défini, UTF-8 est utilisé pour décoder le nom de l’entrée.When the language encoding flag is set, UTF-8 is used to decode the entry name.

Lorsque vous ouvrez un fichier d’archive zip pour la entryNameEncoding lecture et que a une valeur autre nullque, les noms d’entrée sont décodés selon les règles suivantes:When you open a zip archive file for reading and entryNameEncoding is set to a value other than null, entry names are decoded according to the following rules:

  • Lorsque l’indicateur d’encodage de la langue n’est entryNameEncoding pas défini, le spécifié est utilisé pour décoder le nom de l’entrée.When the language encoding flag is not set, the specified entryNameEncoding is used to decode the entry name.

  • Lorsque l’indicateur d’encodage linguistique est défini, UTF-8 est utilisé pour décoder le nom de l’entrée.When the language encoding flag is set, UTF-8 is used to decode the entry name.

Lorsque vous écrivez dans des fichiers d' entryNameEncoding Archive et que nulla la valeur, les noms d’entrée sont encodés selon les règles suivantes:When you write to archive files and entryNameEncoding is set to null, entry names are encoded according to the following rules:

  • Pour les noms d’entrée qui contiennent des caractères en dehors de la plage ASCII, l’indicateur d’encodage de langue est défini et les noms d’entrée sont encodés à l’aide d’UTF-8.For entry names that contain characters outside the ASCII range, the language encoding flag is set, and entry names are encoded by using UTF-8.

  • Pour les noms d’entrée qui contiennent uniquement des caractères ASCII, l’indicateur d’encodage de langue n’est pas défini et les noms d’entrée sont encodés à l’aide de la page de codes par défaut du système actuelle.For entry names that contain only ASCII characters, the language encoding flag is not set, and entry names are encoded by using the current system default code page.

Lorsque vous écrivez dans des fichiers d' entryNameEncoding Archive et que est défini sur une nullvaleur autre que entryNameEncoding , le spécifié est utilisé pour encoder les noms d’entrée en octets.When you write to archive files and entryNameEncoding is set to a value other than null, the specified entryNameEncoding is used to encode the entry names into bytes. L’indicateur d’encodage linguistique (dans l’indicateur de bit à usage général de l’en-tête de fichier local) est défini uniquement lorsque l’encodage spécifié est un encodage UTF-8.The language encoding flag (in the general-purpose bit flag of the local file header) is set only when the specified encoding is a UTF-8 encoding.

S’applique à