Compartir por


ZipFileExtensions.CreateEntryFromFile Método

Definición

Archiva un archivo comprimiéndolo y agregándolo al archivo ZIP.

Sobrecargas

Nombre Description
CreateEntryFromFile(ZipArchive, String, String)

Archiva un archivo comprimiéndolo y agregándolo al archivo ZIP.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archiva un archivo comprimiéndolo mediante el nivel de compresión especificado y agregándolo al archivo ZIP.

CreateEntryFromFile(ZipArchive, String, String)

Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs

Archiva un archivo comprimiéndolo y agregándolo al archivo ZIP.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

Parámetros

destination
ZipArchive

Archivo ZIP al que se va a agregar el archivo.

sourceFileName
String

Ruta de acceso al archivo que se va a archivar. Puede especificar una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

entryName
String

Nombre de la entrada que se va a crear en el archivo ZIP.

Devoluciones

Contenedor para la nueva entrada en el archivo ZIP.

Excepciones

sourceFileName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

O bien

entryName es Empty.

sourceFileName o entryName es null.

En sourceFileName, la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

sourceFileName no es válido (por ejemplo, está en una unidad no asignada).

El archivo especificado por sourceFileName no se puede abrir o es demasiado grande para actualizarse (el límite actual es Int32.MaxValue.

sourceFileName especifica un directorio.

O bien

El autor de la llamada no tiene el permiso necesario para acceder al archivo especificado por sourceFileName.

No se encuentra el archivo especificado por sourceFileName .

El sourceFileName parámetro tiene un formato no válido.

O bien

El archivo zip no admite la escritura.

Se ha eliminado el archivo ZIP.

Ejemplos

En el ejemplo siguiente se muestra cómo crear una nueva entrada en un archivo ZIP a partir de un archivo existente.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Comentarios

La nueva entrada del archivo contiene el contenido del archivo especificado por sourceFileName. Si ya existe una entrada con el nombre especificado (entryName) en el archivo, se crea una segunda entrada con un nombre idéntico. La LastWriteTime propiedad de la entrada se establece en la última vez que se cambió el archivo en el sistema de archivos.

Cuando ZipArchiveMode.Update está presente, el límite de tamaño de una entrada se limita a Int32.MaxValue. Este límite se debe a que el modo de actualización usa internamente MemoryStream para permitir la búsqueda necesaria al actualizar un archivo y MemoryStream tiene un valor máximo igual al tamaño de un int.

Se aplica a

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs
Source:
ZipFileExtensions.ZipArchive.Create.cs

Archiva un archivo comprimiéndolo mediante el nivel de compresión especificado y agregándolo al archivo ZIP.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parámetros

destination
ZipArchive

Archivo ZIP al que se va a agregar el archivo.

sourceFileName
String

Ruta de acceso al archivo que se va a archivar. Puede especificar una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

entryName
String

Nombre de la entrada que se va a crear en el archivo ZIP.

compressionLevel
CompressionLevel

Uno de los valores de enumeración que indica si se debe resaltar la velocidad o la eficacia de compresión al crear la entrada.

Devoluciones

Contenedor para la nueva entrada en el archivo ZIP.

Excepciones

sourceFileName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

O bien

entryName es Empty.

sourceFileName o entryName es null.

sourceFileName no es válido (por ejemplo, está en una unidad no asignada).

En sourceFileName, la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

El archivo especificado por sourceFileName no se puede abrir o es demasiado grande para actualizarse (el límite actual es Int32.MaxValue.

sourceFileName especifica un directorio.

O bien

El autor de la llamada no tiene el permiso necesario para acceder al archivo especificado por sourceFileName.

No se encuentra el archivo especificado por sourceFileName .

El sourceFileName parámetro tiene un formato no válido.

O bien

El archivo zip no admite la escritura.

Se ha eliminado el archivo ZIP.

Ejemplos

En el ejemplo siguiente se muestra cómo crear una nueva entrada en un archivo ZIP a partir de un archivo existente y especificar el nivel de compresión.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest);
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Comentarios

La nueva entrada del archivo contiene el contenido del archivo especificado por sourceFileName. Si ya existe una entrada con el nombre especificado (entryName) en el archivo, se crea una segunda entrada con un nombre idéntico. La LastWriteTime propiedad de la entrada se establece en la última vez que se cambió el archivo en el sistema de archivos.

Cuando ZipArchiveMode.Update está presente, el límite de tamaño de una entrada se limita a Int32.MaxValue. Este límite se debe a que el modo de actualización usa internamente MemoryStream para permitir la búsqueda necesaria al actualizar un archivo y MemoryStream tiene un valor máximo igual al tamaño de un int.

Se aplica a