ZipArchive.CreateEntry Metoda

Definicja

Tworzy pusty wpis w archiwum zip.

Przeciążenia

CreateEntry(String)

Tworzy pusty wpis, który ma określoną ścieżkę i nazwę wpisu w archiwum zip.

CreateEntry(String, CompressionLevel)

Tworzy pusty wpis o określonej nazwie wpisu i poziomie kompresji w archiwum zip.

CreateEntry(String)

Źródło:
ZipArchive.cs
Źródło:
ZipArchive.cs
Źródło:
ZipArchive.cs

Tworzy pusty wpis, który ma określoną ścieżkę i nazwę wpisu w archiwum 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

Ścieżka względem katalogu głównego archiwum, która określa nazwę wpisu do utworzenia.

Zwraca

Pusty wpis w archiwum zip.

Wyjątki

entryName to Empty.

entryName to null.

Archiwum zip nie obsługuje zapisywania.

Archiwum zip zostało usunięte.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć wpis i zapisać go przy użyciu strumienia.

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

Uwagi

Ciąg entryName powinien odzwierciedlać ścieżkę względną wpisu, który chcesz utworzyć w archiwum zip. Nie ma żadnych ograniczeń dotyczących podanego ciągu. Jeśli jednak nie jest ona sformatowana jako ścieżka względna, wpis zostanie utworzony, ale podczas wyodrębniania zawartości archiwum zip może wystąpić wyjątek. Jeśli wpis o określonej ścieżce i nazwie już istnieje w archiwum, zostanie utworzony drugi wpis o tej samej ścieżce i nazwie.

Wartość LastWriteTime właściwości dla nowego wpisu jest ustawiona na bieżącą godzinę. Wpis jest kompresowany przy użyciu domyślnego poziomu kompresji bazowego algorytmu kompresji. Jeśli chcesz określić inny poziom kompresji, użyj CreateEntry metody .

Dotyczy

CreateEntry(String, CompressionLevel)

Źródło:
ZipArchive.cs
Źródło:
ZipArchive.cs
Źródło:
ZipArchive.cs

Tworzy pusty wpis o określonej nazwie wpisu i poziomie kompresji w archiwum 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

Ścieżka względem katalogu głównego archiwum, która określa nazwę wpisu do utworzenia.

compressionLevel
CompressionLevel

Jedna z wartości wyliczenia, która wskazuje, czy podkreślić szybkość lub skuteczność kompresji podczas tworzenia wpisu.

Zwraca

Pusty wpis w archiwum zip.

Wyjątki

entryName to Empty.

entryName to null.

Archiwum zip nie obsługuje zapisywania.

Archiwum zip zostało usunięte.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć wpis z optymalnym poziomem kompresji. Zapisuje również w nowym wpisie przy użyciu strumienia.

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

Uwagi

Ciąg entryName powinien odzwierciedlać ścieżkę względną wpisu, który chcesz utworzyć w archiwum zip. Nie ma żadnych ograniczeń dotyczących podanego ciągu. Jeśli jednak nie jest ona sformatowana jako ścieżka względna, wpis zostanie utworzony, ale podczas wyodrębniania zawartości archiwum zip może wystąpić wyjątek. Jeśli wpis o określonej nazwie już istnieje w archiwum, zostanie utworzony drugi wpis o tej samej nazwie.

Wartość LastWriteTime właściwości dla nowego wpisu jest ustawiona na bieżącą godzinę. Ustaw parametr na compressionLevel wartość Optimal , jeśli chcesz, aby plik był kompresowany jak najwięcej. compressionLevel Ustaw parametr na Fastest wartość tylko wtedy, gdy obawiasz się, że operacja kompresji nie zostanie ukończona wystarczająco szybko dla danego scenariusza.

Dotyczy