ZipFileExtensions.CreateEntryFromFile 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.
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)
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)
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.