Crear archivo ZIP C#

En esta publicación de blog, exploraremos cómo crear archivos ZIP en C# para varios escenarios. Ya sea que desee comprimir un solo archivo, varios archivos o incluso una carpeta completa, puede crear rápidamente un archivo ZIP desde sus aplicaciones .NET. Además, también explorará el proceso rápido para crear un archivo ZIP en línea y gratis.

Cree un archivo ZIP en línea gratis

Puede comprimir y organizar sus archivos en un paquete único y conveniente con este creador de archivos ZIP gratuito. Además, también puede seleccionar los archivos de su sistema o un enlace en línea para acceder a los archivos. No es necesario introducir ningún dato de tarjeta de crédito ni un correo electrónico para trabajar con esta utilidad.

Crear archivo ZIP: instalación de API de C#

Puede crear un archivo ZIP para comprimir varios archivos en un solo archivo. Simplemente configure Conholdate.Total para .NET accediendo a él desde la sección Versiones o instálelo con el siguiente comando NuGet:

Install-Package Conholdate.Total 

Crear ZIP para archivo en C#

Esta sección cubre diferentes enfoques para crear un archivo ZIP para comprimir archivos. Se analiza la compresión de un solo archivo y de varios archivos en un único directorio ZIP según sus requisitos.

Cree un archivo ZIP para un solo archivo en C#

Conozca el proceso paso a paso para crear un archivo ZIP para un solo archivo usando C#. Los siguientes pasos y el fragmento de código lo guiarán a través del proceso y le explicarán cómo empaquetar su archivo de manera eficiente en un archivo comprimido.

  • Cree una instancia de la clase FileStream y especifique el nombre del archivo ZIP de salida.
  • Especifique el archivo que se agregará al archivo.
  • Inicialice una instancia de la clase Archive.
  • Cree el archivo ZIP de salida.

El siguiente fragmento de código demuestra cómo crear un archivo ZIP para un único archivo en C#:

using (FileStream zipFile = File.Open(dataDir + "CompressSingleFile_out.zip", FileMode.Create))
{
    //Archivo que se agregará al archivo
    using (FileStream source1 = File.Open(dataDir + "test.txt", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new Archive(new ArchiveEntrySettings()))
        {
            archive.CreateEntry("test.txt", source1);

            archive.Save(zipFile);
        }
    }
}

Cree un archivo ZIP para varios archivos en C#

Los siguientes pasos muestran cómo crear un directorio ZIP para varios archivos en C#:

  • Especifique los archivos de origen que se comprimirán, así como el nombre del archivo de salida.
  • Cree entradas para los archivos de destino utilizando el método CreateEntry.
  • Guarde el archivo ZIP de salida que contiene varios archivos.

El siguiente código de muestra muestra cómo crear un archivo ZIP para varios archivos en C#:

using (FileStream zipFile = File.Open(dataDir + "CompressMultipleFiles_out.zip", FileMode.Create))
{
    using (FileStream source1 = File.Open(dataDir + "test.txt", FileMode.Open, FileAccess.Read))
    {
        using (FileStream source2 = File.Open(dataDir + "test2.txt", FileMode.Open, FileAccess.Read))
        {
            using (var archive = new Archive())
            {
                archive.CreateEntry("test.txt", source1);
                archive.CreateEntry("test1.txt", source2);
                archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "There are two poems from Canterbury corpus" });
            }
        }
    }
}

Crear ZIP para carpeta en C#

A veces es necesario empaquetar una carpeta completa, incluidos todos los archivos que contiene, en un archivo ZIP. Los pasos siguientes resumen cómo crear un archivo ZIP para una carpeta en C#:

  • Cree un objeto de clase FileStream y especifique el nombre del archivo ZIP de salida.
  • Crea un objeto de la clase Archivo.
  • Establezca la ruta a la carpeta.
  • Cree y exporte el archivo ZIP de salida.

El siguiente ejemplo de código demuestra cómo crear un archivo ZIP para una carpeta en C#:

using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Create))
{
    using (Archive archive = new Archive())
    {
        DirectoryInfo corpus = new DirectoryInfo(dataDir + "zipfolder");
        archive.CreateEntries(corpus);
        archive.Save(zipFile);
    }
}

Obtenga una licencia de evaluación gratuita

Puede solicitar una licencia temporal gratuita para evaluar la API en su máxima capacidad sin restricciones.

Conholdate.Total para .NET - Recursos de aprendizaje

Puede consultar el siguiente recurso para explorar más a fondo las funciones que ofrece la API.

Resumiendo

La creación de archivos ZIP en C# abre un mundo de posibilidades para gestionar e intercambiar datos de forma eficiente. Al conocer los detalles compartidos en esta publicación de blog, podrá agregar fácilmente capacidades de compresión de archivos a sus aplicaciones. Le permitirá ahorrar espacio, transmitir datos fácilmente y optimizar sus flujos de trabajo. En caso de cualquier consulta, no dude en escribirnos al foro de soporte gratuito.

Ver también