Comparteix a través de


ZipArchive.CreateEntry Método

Definición

Crea una entrada vacía en el archivo zip.

Sobrecargas

CreateEntry(String)

Crea una entrada vacía en el archivo zip con la ruta de acceso y el nombre de entrada especificados.

CreateEntry(String, CompressionLevel)

Crea una entrada vacía en el archivo zip con el nombre de entrada y el nivel de compresión especificados.

CreateEntry(String)

Source:
ZipArchive.cs
Source:
ZipArchive.cs
Source:
ZipArchive.cs

Crea una entrada vacía en el archivo zip con la ruta de acceso y el nombre de entrada especificados.

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

Ruta de acceso, relativa a la raíz del archivo, que especifica el nombre de la entrada que se va a crear.

Devoluciones

Una entrada vacía en el archivo zip.

Excepciones

entryName es Empty.

entryName es null.

El archivo zip no admite escritura.

El archivo .zip se ha desechado.

Ejemplos

En el ejemplo siguiente se muestra cómo crear una entrada y escribir en ella mediante una secuencia.

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

Comentarios

La entryName cadena debe reflejar la ruta de acceso relativa de la entrada que desea crear en el archivo ZIP. No hay ninguna restricción en la cadena que proporcione. Sin embargo, si no tiene el formato de ruta de acceso relativa, se crea la entrada, pero puede obtener una excepción al extraer el contenido del archivo ZIP. Si ya existe una entrada con la ruta de acceso y el nombre especificados en el archivo, se crea una segunda entrada con la misma ruta de acceso y nombre.

El valor de la LastWriteTime propiedad para la nueva entrada se establece en la hora actual. La entrada se comprime mediante el nivel de compresión predeterminado del algoritmo de compresión subyacente. Si desea especificar un nivel de compresión diferente, use el CreateEntry método .

Se aplica a

CreateEntry(String, CompressionLevel)

Source:
ZipArchive.cs
Source:
ZipArchive.cs
Source:
ZipArchive.cs

Crea una entrada vacía en el archivo zip con el nombre de entrada y el nivel de compresión especificados.

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

Ruta de acceso, relativa a la raíz del archivo, que especifica el nombre de la entrada que se va a crear.

compressionLevel
CompressionLevel

Uno de los valores de enumeración que indica si se va a hacer hincapié en la eficacia de velocidad o de compresión al crear la entrada.

Devoluciones

Una entrada vacía en el archivo zip.

Excepciones

entryName es Empty.

entryName es null.

El archivo zip no admite escritura.

El archivo .zip se ha desechado.

Ejemplos

En el ejemplo siguiente se muestra cómo crear una entrada con el nivel de compresión óptimo. También escribe en la nueva entrada mediante una secuencia.

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

Comentarios

La entryName cadena debe reflejar la ruta de acceso relativa de la entrada que desea crear en el archivo ZIP. No hay ninguna restricción en la cadena que proporcione. Sin embargo, si no tiene el formato de ruta de acceso relativa, se crea la entrada, pero puede obtener una excepción al extraer el contenido del archivo ZIP. Si ya existe una entrada con el nombre especificado en el archivo, se crea una segunda entrada con el mismo nombre.

El valor de la LastWriteTime propiedad para la nueva entrada se establece en la hora actual. Establezca el compressionLevel parámetro Optimal en si desea que el archivo se comprima tanto como sea posible. Establezca el compressionLevel parámetro Fastest en solo si le preocupa que la operación de compresión no se complete lo suficientemente rápido para su escenario.

Se aplica a