ZipArchive.CreateEntry Méthode

Définition

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.

S’applique à