ZipArchive.CreateEntry 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.
Crée une entrée vide dans l'archive zip.
Surcharges
CreateEntry(String) |
Crée une entrée vide qui porte le chemin d'accès et le nom d'entrée spécifiés dans l'archive zip. |
CreateEntry(String, CompressionLevel) |
Crée une entrée vide qui porte le nom d'entrée et le niveau de compression spécifiés dans l'archive zip. |
CreateEntry(String)
- Source:
- ZipArchive.cs
- Source:
- ZipArchive.cs
- Source:
- ZipArchive.cs
Crée une entrée vide qui porte le chemin d'accès et le nom d'entrée spécifiés dans l'archive zip.
public:
System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName);
member this.CreateEntry : string -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String) As ZipArchiveEntry
Paramètres
- entryName
- String
Chemin d'accès, relatif à la racine de l'archive, qui spécifie le nom de l'entrée à créer.
Retours
Entrée vide dans l'archive zip.
Exceptions
entryName
a la valeur Empty.
entryName
a la valeur null
.
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 et y écrire à l’aide d’un flux.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
}
}
}
open System.IO
open System.IO.Compression
do
use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)
use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)
let readmeEntry = archive.CreateEntry "Readme.txt"
use writer = new StreamWriter(readmeEntry.Open())
writer.WriteLine "Information about this package."
writer.WriteLine "========================"
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
writer.WriteLine("Information about this package.")
writer.WriteLine("========================")
End Using
End Using
End Using
End Sub
End Module
Remarques
La entryName
chaîne doit refléter le chemin relatif de l’entrée que vous souhaitez créer dans l’archive zip. Il n’existe aucune restriction sur la chaîne que vous fournissez. Toutefois, si elle n’est pas mise en forme en tant que chemin d’accès relatif, l’entrée est créée, mais vous pouvez obtenir une exception lorsque vous extrayez le contenu de l’archive zip. Si une entrée avec le chemin et le nom spécifiés existe déjà dans l’archive, une deuxième entrée est créée avec le même chemin et le même nom.
La valeur de la LastWriteTime propriété pour la nouvelle entrée est définie sur l’heure actuelle. L’entrée est compressée à l’aide du niveau de compression par défaut de l’algorithme de compression sous-jacent. Si vous souhaitez spécifier un autre niveau de compression, utilisez la CreateEntry méthode .
S’applique à
CreateEntry(String, CompressionLevel)
- Source:
- ZipArchive.cs
- Source:
- ZipArchive.cs
- Source:
- ZipArchive.cs
Crée une entrée vide qui porte le nom d'entrée et le niveau de compression spécifiés dans l'archive zip.
public:
System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName, System.IO.Compression.CompressionLevel compressionLevel);
member this.CreateEntry : string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry
Paramètres
- entryName
- String
Chemin d'accès, relatif à la racine de l'archive, qui spécifie le nom de l'entrée à créer.
- 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
Entrée vide dans l'archive zip.
Exceptions
entryName
a la valeur Empty.
entryName
a la valeur null
.
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 avec le niveau de compression optimal. Il écrit également dans la nouvelle entrée à l’aide d’un flux.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal);
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
}
}
}
open System.IO
open System.IO.Compression
do
use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)
use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)
let readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
use writer = new StreamWriter(readmeEntry.Open())
writer.WriteLine "Information about this package."
writer.WriteLine "========================"
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
writer.WriteLine("Information about this package.")
writer.WriteLine("========================")
End Using
End Using
End Using
End Sub
End Module
Remarques
La entryName
chaîne doit refléter le chemin relatif de l’entrée que vous souhaitez créer dans l’archive zip. Il n’existe aucune restriction sur la chaîne que vous fournissez. Toutefois, si elle n’est pas mise en forme en tant que chemin d’accès relatif, l’entrée est créée, mais vous pouvez obtenir une exception lorsque vous extrayez le contenu de l’archive zip. Si une entrée portant le nom spécifié existe déjà dans l’archive, une deuxième entrée est créée avec le même nom.
La valeur de la LastWriteTime propriété pour la nouvelle entrée est définie sur l’heure actuelle. Définissez le compressionLevel
paramètre Optimal sur si vous souhaitez que le fichier soit compressé autant que possible. Définissez le paramètre Fastest sur compressionLevel
uniquement si vous craignez que l’opération de compression ne se termine pas assez rapidement pour votre scénario.