ZipArchive.CreateEntry Methode

Definitie

Hiermee maakt u een lege vermelding in het zip-archief.

Overloads

Name Description
CreateEntry(String)

Hiermee maakt u een lege vermelding met het opgegeven pad en de naam van de vermelding in het zip-archief.

CreateEntry(String, CompressionLevel)

Hiermee maakt u een lege vermelding met de opgegeven vermeldingsnaam en het compressieniveau in het zip-archief.

CreateEntry(String)

Hiermee maakt u een lege vermelding met het opgegeven pad en de naam van de vermelding in het zip-archief.

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

Parameters

entryName
String

Een pad, ten opzichte van de hoofdmap van het archief, waarmee de naam wordt opgegeven van de vermelding die moet worden gemaakt.

Retouren

Een lege vermelding in het zip-archief.

Uitzonderingen

entryName is Empty.

entryName is null.

Het zip-archief biedt geen ondersteuning voor schrijven.

Het zip-archief is verwijderd.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een vermelding maakt en ernaar schrijft met behulp van een stream.

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

Opmerkingen

De entryName tekenreeks moet het relatieve pad weergeven van het item dat u wilt maken in het zip-archief. Er is geen beperking voor de tekenreeks die u opgeeft. Als de vermelding echter niet is opgemaakt als een relatief pad, wordt de vermelding gemaakt, maar krijgt u mogelijk een uitzondering wanneer u de inhoud van het zip-archief extraheert. Als er al een vermelding met het opgegeven pad en de naam in het archief bestaat, wordt er een tweede vermelding gemaakt met hetzelfde pad en dezelfde naam.

De waarde van de LastWriteTime eigenschap voor de nieuwe vermelding is ingesteld op de huidige tijd. De vermelding wordt gecomprimeerd met behulp van het standaardcompressieniveau van het onderliggende compressie-algoritme. Als u een ander compressieniveau wilt opgeven, gebruikt u de CreateEntry methode.

Van toepassing op

CreateEntry(String, CompressionLevel)

Hiermee maakt u een lege vermelding met de opgegeven vermeldingsnaam en het compressieniveau in het zip-archief.

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

Parameters

entryName
String

Een pad, ten opzichte van de hoofdmap van het archief, waarmee de naam wordt opgegeven van de vermelding die moet worden gemaakt.

compressionLevel
CompressionLevel

Een van de opsommingswaarden die aangeeft of snelheid of compressieeffectiviteit moet worden benadrukt bij het maken van de vermelding.

Retouren

Een lege vermelding in het zip-archief.

Uitzonderingen

entryName is Empty.

entryName is null.

Het zip-archief biedt geen ondersteuning voor schrijven.

Het zip-archief is verwijderd.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een vermelding maakt met het optimale compressieniveau. Het schrijft ook naar de nieuwe vermelding met behulp van een stream.

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

Opmerkingen

De entryName tekenreeks moet het relatieve pad weergeven van het item dat u wilt maken in het zip-archief. Er is geen beperking voor de tekenreeks die u opgeeft. Als de vermelding echter niet is opgemaakt als een relatief pad, wordt de vermelding gemaakt, maar krijgt u mogelijk een uitzondering wanneer u de inhoud van het zip-archief extraheert. Als er al een vermelding met de opgegeven naam in het archief bestaat, wordt er een tweede vermelding met dezelfde naam gemaakt.

De waarde van de LastWriteTime eigenschap voor de nieuwe vermelding is ingesteld op de huidige tijd. Stel de compressionLevel parameter in op Optimal als u wilt dat het bestand zoveel mogelijk wordt gecomprimeerd. Stel de compressionLevel parameter Fastest alleen in op als u zich zorgen maakt dat de compressiebewerking niet snel genoeg wordt voltooid voor uw scenario.

Van toepassing op