ZipArchive.CreateEntry Metoda

Definice

Vytvoří prázdnou položku v archivu zip.Creates an empty entry in the zip archive.

Přetížení

CreateEntry(String)

Vytvoří prázdnou položku, která má zadanou cestu a název položky v archivu zip.Creates an empty entry that has the specified path and entry name in the zip archive.

CreateEntry(String, CompressionLevel)

Vytvoří prázdnou položku, která má zadaný název položky a úroveň komprese v archivu zip.Creates an empty entry that has the specified entry name and compression level in the zip archive.

CreateEntry(String)

Vytvoří prázdnou položku, která má zadanou cestu a název položky v archivu zip.Creates an empty entry that has the specified path and entry name in the zip archive.

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

Parametry

entryName
String

Cesta relativní ke kořenu archivu, která určuje název položky, která má být vytvořena.A path, relative to the root of the archive, that specifies the name of the entry to be created.

Návraty

Prázdná položka v archivu zipAn empty entry in the zip archive.

Výjimky

entryName je Empty.entryName is Empty.

entryName je null.entryName is null.

Archiv zip nepodporuje zápis.The zip archive does not support writing.

Archiv zip byl zlikvidován.The zip archive has been disposed.

Příklady

Následující příklad ukazuje, jak vytvořit položku a zapisovat do ní pomocí datového proudu.The following example shows how to create an entry and write to it by using a 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("========================");
                    }
                }
            }
        }
    }
}
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

Poznámky

Řetězec entryName by měl odrážet relativní cestu položky, kterou chcete vytvořit v archivu zip.The entryName string should reflect the relative path of the entry you want to create within the zip archive. Řetězec, který zadáte, není nijak omezen.There is no restriction on the string you provide. Pokud ale není naformátovaná jako relativní cesta, vytvoří se položka, ale při extrakci obsahu archivu zip se může zobrazit výjimka.However, if it is not formatted as a relative path, the entry is created, but you may get an exception when you extract the contents of the zip archive. Pokud položka se zadanou cestou a názvem již v archivu existuje, vytvoří se druhá položka se stejnou cestou a názvem.If an entry with the specified path and name already exists in the archive, a second entry is created with the same path and name.

Hodnota vlastnosti LastWriteTime pro novou položku je nastavena na aktuální čas.The value of the LastWriteTime property for the new entry is set to the current time. Položka je komprimována s použitím výchozí úrovně komprese základního kompresního algoritmu.The entry is compressed using the default compression level of the underlying compression algorithm. Pokud chcete zadat jinou úroveň komprese, použijte metodu CreateEntry.If you want to specify a different compression level, use the CreateEntry method.

CreateEntry(String, CompressionLevel)

Vytvoří prázdnou položku, která má zadaný název položky a úroveň komprese v archivu zip.Creates an empty entry that has the specified entry name and compression level in the zip archive.

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

Parametry

entryName
String

Cesta relativní ke kořenu archivu, která určuje název položky, která má být vytvořena.A path, relative to the root of the archive, that specifies the name of the entry to be created.

compressionLevel
CompressionLevel

Jedna z hodnot výčtu, která označuje, zda má být při vytváření položky zdůrazněna rychlost nebo Efektivita komprese.One of the enumeration values that indicates whether to emphasize speed or compression effectiveness when creating the entry.

Návraty

Prázdná položka v archivu zipAn empty entry in the zip archive.

Výjimky

entryName je Empty.entryName is Empty.

entryName je null.entryName is null.

Archiv zip nepodporuje zápis.The zip archive does not support writing.

Archiv zip byl zlikvidován.The zip archive has been disposed.

Příklady

Následující příklad ukazuje, jak vytvořit položku s optimální úrovní komprese.The following example shows how to create an entry with the optimal compression level. Také zapisuje do nové položky pomocí datového proudu.It also writes to the new entry by using a 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("========================");
                    }
                }
            }
        }
    }
}
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

Poznámky

Řetězec entryName by měl odrážet relativní cestu položky, kterou chcete vytvořit v archivu zip.The entryName string should reflect the relative path of the entry you want to create within the zip archive. Řetězec, který zadáte, není nijak omezen.There is no restriction on the string you provide. Pokud ale není naformátovaná jako relativní cesta, vytvoří se položka, ale při extrakci obsahu archivu zip se může zobrazit výjimka.However, if it is not formatted as a relative path, the entry is created, but you may get an exception when you extract the contents of the zip archive. Pokud položka se zadaným názvem již v archivu existuje, vytvoří se druhá položka se stejným názvem.If an entry with the specified name already exists in the archive, a second entry is created with the same name.

Hodnota vlastnosti LastWriteTime pro novou položku je nastavena na aktuální čas.The value of the LastWriteTime property for the new entry is set to the current time. Nastavte parametr compressionLevel, aby Optimal, pokud chcete, aby byl soubor co nejvíce komprimovaný.Set the compressionLevel parameter to Optimal if you want the file to be compressed as much as possible. Nastavte parametr compressionLevel na Fastest pouze v případě, že máte obavy, že operace komprese nebude dokončena dostatečně rychle pro váš scénář.Set the compressionLevel parameter to Fastest only if you are concerned that the compression operation will not complete quickly enough for your scenario.

Platí pro