Partilhar via


ZipArchive.CreateEntry Método

Definição

Cria uma entrada vazia no arquivo zip.

Sobrecargas

Nome Description
CreateEntry(String)

Cria uma entrada vazia que tem o caminho e o nome de entrada especificados no arquivo zip.

CreateEntry(String, CompressionLevel)

Cria uma entrada vazia que tem o nome de entrada e o nível de compactação especificados no arquivo zip.

CreateEntry(String)

Origem:
ZipArchive.cs
Origem:
ZipArchive.cs
Origem:
ZipArchive.cs
Origem:
ZipArchive.cs
Origem:
ZipArchive.cs

Cria uma entrada vazia que tem o caminho e o nome de entrada especificados no arquivo 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

Parâmetros

entryName
String

Um caminho, relativo à raiz do arquivo morto, que especifica o nome da entrada a ser criada.

Retornos

Uma entrada vazia no arquivo zip.

Exceções

entryName é Empty.

entryName é null.

O arquivo zip não dá suporte à gravação.

O arquivo zip foi descartado.

Exemplos

O exemplo a seguir mostra como criar uma entrada e gravar nela usando um fluxo.

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

Comentários

A entryName cadeia de caracteres deve refletir o caminho relativo da entrada que você deseja criar no arquivo zip. Não há nenhuma restrição na cadeia de caracteres fornecida. No entanto, se ele não estiver formatado como um caminho relativo, a entrada será criada, mas você poderá obter uma exceção ao extrair o conteúdo do arquivo zip. Se já existir uma entrada com o caminho e o nome especificados no arquivo morto, uma segunda entrada será criada com o mesmo caminho e nome.

O valor da LastWriteTime propriedade para a nova entrada é definido como a hora atual. A entrada é compactada usando o nível de compactação padrão do algoritmo de compactação subjacente. Se você quiser especificar um nível de compactação diferente, use o CreateEntry método.

Aplica-se a

CreateEntry(String, CompressionLevel)

Origem:
ZipArchive.cs
Origem:
ZipArchive.cs
Origem:
ZipArchive.cs
Origem:
ZipArchive.cs
Origem:
ZipArchive.cs

Cria uma entrada vazia que tem o nome de entrada e o nível de compactação especificados no arquivo 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

Parâmetros

entryName
String

Um caminho, relativo à raiz do arquivo morto, que especifica o nome da entrada a ser criada.

compressionLevel
CompressionLevel

Um dos valores de enumeração que indica se a velocidade ou a eficácia da compactação devem ser enfatizadas ao criar a entrada.

Retornos

Uma entrada vazia no arquivo zip.

Exceções

entryName é Empty.

entryName é null.

O arquivo zip não dá suporte à gravação.

O arquivo zip foi descartado.

Exemplos

O exemplo a seguir mostra como criar uma entrada com o nível de compactação ideal. Ele também grava na nova entrada usando um fluxo.

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

Comentários

A entryName cadeia de caracteres deve refletir o caminho relativo da entrada que você deseja criar no arquivo zip. Não há nenhuma restrição na cadeia de caracteres fornecida. No entanto, se ele não estiver formatado como um caminho relativo, a entrada será criada, mas você poderá obter uma exceção ao extrair o conteúdo do arquivo zip. Se uma entrada com o nome especificado já existir no arquivo morto, uma segunda entrada será criada com o mesmo nome.

O valor da LastWriteTime propriedade para a nova entrada é definido como a hora atual. Defina o compressionLevel parâmetro como Optimal se você quiser que o arquivo seja compactado o máximo possível. Defina o compressionLevel parâmetro Fastest como somente se você estiver preocupado que a operação de compactação não seja concluída rapidamente o suficiente para seu cenário.

Aplica-se a