ZipFileExtensions.CreateEntryFromFile ZipFileExtensions.CreateEntryFromFile ZipFileExtensions.CreateEntryFromFile ZipFileExtensions.CreateEntryFromFile Method

Définition

Archive un fichier en le compressant et en l'ajoutant à l'archive ZIP.Archives a file by compressing it and adding it to the zip archive.

Surcharges

CreateEntryFromFile(ZipArchive, String, String) CreateEntryFromFile(ZipArchive, String, String) CreateEntryFromFile(ZipArchive, String, String) CreateEntryFromFile(ZipArchive, String, String)

Archive un fichier en le compressant et en l'ajoutant à l'archive ZIP.Archives a file by compressing it and adding it to the zip archive.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel) CreateEntryFromFile(ZipArchive, String, String, CompressionLevel) 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.Archives a file by compressing it using the specified compression level and adding it to the zip archive.

CreateEntryFromFile(ZipArchive, String, String) CreateEntryFromFile(ZipArchive, String, String) CreateEntryFromFile(ZipArchive, String, String) CreateEntryFromFile(ZipArchive, String, String)

Archive un fichier en le compressant et en l'ajoutant à l'archive ZIP.Archives a file by compressing it and adding it to the zip archive.

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

Archive zip à ajouter au fichier.The zip archive to add the file to.

sourceFileName
String String String String

Chemin d'accès du fichier à archiver.The path to the file to be archived. Spécification possible d'un chemin d'accès absolu ou relatif.You can specify either a relative or an 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.

entryName
String String String String

Nom de l'entrée à créer dans l'archive ZIP.The name of the entry to create in the zip archive.

Retours

Wrapper pour la nouvelle entrée dans l'archive ZIP.A wrapper for the new entry in the zip archive.

Exceptions

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

ou-or- entryName est Empty.entryName is Empty.

sourceFileName ou entryName est null.sourceFileName or entryName is null.

Dans sourceFileName, 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 sourceFileName, the specified path, file name, or both exceed the system-defined maximum length.

sourceFileName n’est pas valide (par exemple, il est sur un lecteur non mappé).sourceFileName is invalid (for example, it is on an unmapped drive).

Le fichier spécifié par sourceFileName ne peut pas être ouvert ou est trop volumineux pour être mis à jour (la limite actuelle est Int32.MaxValue).The file specified by sourceFileName cannot be opened, or is too large to be updated (current limit is Int32.MaxValue).

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

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

Le fichier spécifié par sourceFileName est introuvable.The file specified by sourceFileName is not found.

Le format du paramètre sourceFileName n'est pas valide.The sourceFileName parameter is in an invalid format.

ou-or- L’archive zip ne prend pas en charge l’écriture.The zip archive does not support writing.

L’archive zip de a été supprimée.The zip archive has been disposed.

Exemples

L’exemple suivant montre comment créer une nouvelle entrée dans une archive zip à partir d’un fichier existant.The following example shows how to create a new entry in a zip archive from an existing file.

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 de l’archive contient le contenu du fichier spécifié par sourceFileName.The new entry in the archive contains the contents of the file specified by 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.If an entry with the specified name (entryName) already exists in the archive, a second entry is created with an identical name. La LastWriteTime propriété de l’entrée est définie sur la dernière fois que le fichier sur le système de fichiers a été modifié.The LastWriteTime property of the entry is set to the last time the file on the file system was changed.

Lorsque ZipArchiveMode.Update est présent, la limite de taille d’une entrée est limitée Int32.MaxValueà.When ZipArchiveMode.Update is present, the size limit of an entry is limited to Int32.MaxValue. Cette limite est due au fait que le MemoryStream mode de mise à jour utilise un en interne pour permettre la recherche requise MemoryStream lors de la mise à jour d’une archive, et a une valeur maximale égale à la taille d’un int.This limit is because update mode uses a MemoryStream internally to allow the seeking required when updating an archive, and MemoryStream has a maximum equal to the size of an int.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel) CreateEntryFromFile(ZipArchive, String, String, CompressionLevel) 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.Archives a file by compressing it using the specified compression level and adding it to the zip archive.

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

Paramètres

destination
ZipArchive ZipArchive ZipArchive ZipArchive

Archive zip à ajouter au fichier.The zip archive to add the file to.

sourceFileName
String String String String

Chemin d'accès du fichier à archiver.The path to the file to be archived. Spécification possible d'un chemin d'accès absolu ou relatif.You can specify either a relative or an 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.

entryName
String String String String

Nom de l'entrée à créer dans l'archive ZIP.The name of the entry to create in the zip archive.

compressionLevel
CompressionLevel CompressionLevel 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.One of the enumeration values that indicates whether to emphasize speed or compression effectiveness when creating the entry.

Retours

Wrapper pour la nouvelle entrée dans l'archive ZIP.A wrapper for the new entry in the zip archive.

Exceptions

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

- ou --or- entryName est Empty.entryName is Empty.

sourceFileName ou entryName est null.sourceFileName or entryName is null.

sourceFileName n’est pas valide (par exemple, il est sur un lecteur non mappé).sourceFileName is invalid (for example, it is on an unmapped drive).

Dans sourceFileName, 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 sourceFileName, the specified path, file name, or both exceed the system-defined maximum length.

Le fichier spécifié par sourceFileName ne peut pas être ouvert ou est trop volumineux pour être mis à jour (la limite actuelle est Int32.MaxValue).The file specified by sourceFileName cannot be opened, or is too large to be updated (current limit is Int32.MaxValue).

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

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

Le fichier spécifié par sourceFileName est introuvable.The file specified by sourceFileName is not found.

Le format du paramètre sourceFileName n'est pas valide.The sourceFileName parameter is in an invalid format.

ou-or- L’archive zip ne prend pas en charge l’écriture.The zip archive does not support writing.

L’archive zip de a été supprimée.The zip archive has been disposed.

Exemples

L’exemple suivant montre comment créer une nouvelle entrée dans une archive zip à partir d’un fichier existant et spécifier le niveau de compression.The following example shows how to create a new entry in a zip archive from an existing file, and specify the compression level.

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 de l’archive contient le contenu du fichier spécifié par sourceFileName.The new entry in the archive contains the contents of the file specified by 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.If an entry with the specified name (entryName) already exists in the archive, a second entry is created with an identical name. La LastWriteTime propriété de l’entrée est définie sur la dernière fois que le fichier sur le système de fichiers a été modifié.The LastWriteTime property of the entry is set to the last time the file on the file system was changed.

Lorsque ZipArchiveMode.Update est présent, la limite de taille d’une entrée est limitée Int32.MaxValueà.When ZipArchiveMode.Update is present, the size limit of an entry is limited to Int32.MaxValue. Cette limite est due au fait que le MemoryStream mode de mise à jour utilise un en interne pour permettre la recherche requise MemoryStream lors de la mise à jour d’une archive, et a une valeur maximale égale à la taille d’un int.This limit is because update mode uses a MemoryStream internally to allow the seeking required when updating an archive, and MemoryStream has a maximum equal to the size of an int.

S’applique à