Partager via


ZipFileExtensions.CreateEntryFromFile Méthode

Définition

Archive un fichier en le compressant et en l'ajoutant à l'archive zip.

Surcharges

CreateEntryFromFile(ZipArchive, String, String)

Archive un fichier en le compressant et en l'ajoutant à l'archive zip.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archive un fichier en le compressant à l'aide du niveau de compression spécifié et en l'ajoutant à l'archive ZIP.

CreateEntryFromFile(ZipArchive, String, String)

Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs

Archive un fichier en le compressant et en l'ajoutant à l'archive zip.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

Paramètres

destination
ZipArchive

Archive zip à ajouter au fichier.

sourceFileName
String

Chemin d'accès du fichier à archiver. 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.

entryName
String

Nom de l'entrée à créer dans l'archive zip.

Retours

Wrapper pour la nouvelle entrée dans l'archive zip.

Exceptions

sourceFileName est Empty, ne contient que des espaces blancs ou contient au moins un caractère non valide.

- ou -

entryName a la valeur Empty.

sourceFileName ou entryName est null.

Dans sourceFileName, le chemin d’accès spécifié, le nom du fichier, ou les deux, dépassent la longueur maximale définie par le système.

sourceFileName n’est pas valide (par exemple, il est sur un lecteur non mappé).

Impossible d’ouvrir le fichier spécifié par sourceFileName ou est trop volumineux pour être mis à jour (la limite actuelle est Int32.MaxValue).

sourceFileName spécifie un répertoire.

- ou -

L'appelant n'a pas l'autorisation requise pour accéder au fichier spécifié par sourceFileName.

Le fichier spécifié par sourceFileName est introuvable.

Le format du paramètre sourceFileName est non valide.

- ou -

L’archive zip ne prend pas en charge l’écriture.

L’archive zip a été supprimée.

Exemples

L’exemple suivant montre comment créer une entrée dans une archive zip à partir d’un fichier existant.

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

La nouvelle entrée dans l’archive contient le contenu du fichier spécifié par sourceFileName. Si une entrée portant le nom spécifié (entryName) existe déjà dans l’archive, une deuxième entrée est créée avec un nom identique. La LastWriteTime propriété de l’entrée est définie sur la dernière modification du fichier sur le système de fichiers.

Quand ZipArchiveMode.Update est présent, la limite de taille d’une entrée est limitée à Int32.MaxValue. Cette limite est due au fait que le mode de mise à jour utilise un MemoryStream en interne pour autoriser la recherche requise lors de la mise à jour d’une archive, et MemoryStream a un maximum égal à la taille d’un int.

S’applique à

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs

Archive un fichier en le compressant à l'aide du niveau de compression spécifié et en l'ajoutant à l'archive ZIP.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Paramètres

destination
ZipArchive

Archive zip à ajouter au fichier.

sourceFileName
String

Chemin d'accès du fichier à archiver. 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.

entryName
String

Nom de l'entrée à créer dans l'archive zip.

compressionLevel
CompressionLevel

L'une des valeurs d'énumération qui indique s'il faut mettre l'accent sur rapidité ou la compression en créant l'entrée.

Retours

Wrapper pour la nouvelle entrée dans l'archive zip.

Exceptions

sourceFileName est Empty, ne contient que des espaces blancs ou contient au moins un caractère non valide.

- ou -

entryName a la valeur Empty.

sourceFileName ou entryName est null.

sourceFileName n’est pas valide (par exemple, il est sur un lecteur non mappé).

Dans sourceFileName, le chemin d’accès spécifié, le nom du fichier, ou les deux, dépassent la longueur maximale définie par le système.

Impossible d’ouvrir le fichier spécifié par sourceFileName ou est trop volumineux pour être mis à jour (la limite actuelle est Int32.MaxValue).

sourceFileName spécifie un répertoire.

- ou -

L'appelant n'a pas l'autorisation requise pour accéder au fichier spécifié par sourceFileName.

Le fichier spécifié par sourceFileName est introuvable.

Le format du paramètre sourceFileName est non valide.

- ou -

L’archive zip ne prend pas en charge l’écriture.

L’archive zip a été supprimée.

Exemples

L’exemple suivant montre comment créer une entrée dans une archive zip à partir d’un fichier existant et spécifier le niveau de compression.

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", CompressionLevel.Fastest);
                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

La nouvelle entrée dans l’archive contient le contenu du fichier spécifié par sourceFileName. Si une entrée portant le nom spécifié (entryName) existe déjà dans l’archive, une deuxième entrée est créée avec un nom identique. La LastWriteTime propriété de l’entrée est définie sur la dernière modification du fichier sur le système de fichiers.

Quand ZipArchiveMode.Update est présent, la limite de taille d’une entrée est limitée à Int32.MaxValue. Cette limite est due au fait que le mode de mise à jour utilise un MemoryStream en interne pour autoriser la recherche requise lors de la mise à jour d’une archive, et MemoryStream a un maximum égal à la taille d’un int.

S’applique à