Sdílet prostřednictvím


ZipArchive.CreateEntry Metoda

Definice

Vytvoří prázdnou položku v archivu zip.

Přetížení

Name Description
CreateEntry(String)

Vytvoří prázdnou položku, která má zadanou cestu a název položky v archivu zip.

CreateEntry(String, CompressionLevel)

Vytvoří prázdnou položku, která má zadaný název položky a úroveň komprese v archivu zip.

CreateEntry(String)

Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs

Vytvoří prázdnou položku, která má zadanou cestu a název položky v archivu 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

Parametry

entryName
String

Cesta vzhledem ke kořenovému adresáři archivu, která určuje název položky, která se má vytvořit.

Návraty

Prázdná položka v archivu zip.

Výjimky

entryName je Empty.

entryName je null.

Archiv zip nepodporuje psaní.

Archiv zip byl odstraněn.

Příklady

Následující příklad ukazuje, jak vytvořit položku a zapisovat do ní pomocí streamu.

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

Poznámky

Řetězec entryName by měl odrážet relativní cestu k položce, kterou chcete vytvořit v archivu zip. Řetězec, který zadáte, není nijak omezen. Pokud ale není formátovaná jako relativní cesta, položka se vytvoří, ale při extrahování obsahu archivu zip může dojít k výjimce. Pokud položka se zadanou cestou a názvem již v archivu existuje, vytvoří se druhá položka se stejnou cestou a názvem.

Hodnota LastWriteTime vlastnosti pro novou položku je nastavena na aktuální čas. Položka se komprimuje pomocí výchozí úrovně komprese základního algoritmu komprese. Pokud chcete zadat jinou úroveň komprese, použijte metodu CreateEntry .

Platí pro

CreateEntry(String, CompressionLevel)

Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs
Zdroj:
ZipArchive.cs

Vytvoří prázdnou položku, která má zadaný název položky a úroveň komprese v archivu 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

Parametry

entryName
String

Cesta vzhledem ke kořenovému adresáři archivu, která určuje název položky, která se má vytvořit.

compressionLevel
CompressionLevel

Jedna z hodnot výčtu, která označuje, zda se má při vytváření položky zdůraznit účinnost rychlosti nebo komprese.

Návraty

Prázdná položka v archivu zip.

Výjimky

entryName je Empty.

entryName je null.

Archiv zip nepodporuje psaní.

Archiv zip byl odstraněn.

Příklady

Následující příklad ukazuje, jak vytvořit položku s optimální úrovní komprese. Zapisuje se také do nové položky pomocí datového proudu.

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

Poznámky

Řetězec entryName by měl odrážet relativní cestu k položce, kterou chcete vytvořit v archivu zip. Řetězec, který zadáte, není nijak omezen. Pokud ale není formátovaná jako relativní cesta, položka se vytvoří, ale při extrahování obsahu archivu zip může dojít k výjimce. Pokud položka se zadaným názvem již v archivu existuje, vytvoří se druhá položka se stejným názvem.

Hodnota LastWriteTime vlastnosti pro novou položku je nastavena na aktuální čas. compressionLevel Nastavte parametr tak, aby Optimal byl soubor komprimován co nejvíce. compressionLevel Nastavte parametr pouze Fastest v případě, že se obáváte, že operace komprese nebude dostatečně rychle dokončena pro váš scénář.

Platí pro