Create ZIP in C#

C# Archive: Aprenda cómo usar la clase Archive para el procesamiento complejo de ZIP.

ZIP archivy son esenciales para la compresión y organización de archivos y carpetas en un contenedor fácil de gestionar. Reducen no solo el tamaño de los archivos para un almacenamiento y transmisión eficientes, sino que también conservan los metadatos y pueden cifrarse para mayor seguridad. En este artículo, examinaremos varios métodos para Creación de archivos ZIP en C# programáticamente, incluido cómo agregar archivos y carpetas, crear archivos con contraseña y usar cifrado AES.

¿Qué quieres aprender?;?

En este artículo aprenderás cómo:

C# ZIP biblioteca

The provided text is not in English. Please provide English text for translation. Aspose.ZIP for .NET La biblioteca es una herramienta poderosa para la gestión de operaciones de archivos ZIP en aplicaciones .NET, que facilita la compresión o descompresión de archivos y carpetas. Esta biblioteca es particularmente eficaz para Procesamiento de archivos grandes en C# .NET ZIP Archive y soporta cifrado AES para mayor seguridad. Puedes obtener esta biblioteca simplemente de NuGet o descargue archivos binarios de receptor Departamento.

Cree un archivo en C#

Mach Cree un archivo ZIP programáticamente en C#, siga estos pasos:

  1. Creación FileStream Objeto para el archivo de salida ZIP.
  2. Abra el archivo fuente como a FileStream Objeto.
  3. Créalo Archivo Clase.
  4. Añada un archivo al archivo, haciendo. Archive.CreateEntry(string, FileStream) Método.
  5. Guarda el archivo ZIP también. Archive.Save(FileStream) Método.

A continuación se muestra un ejemplo de código que muestra cómo agregar un archivo a un archivo ZIP con C#..:

using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
	using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
	{
		// Add folder to archive
		DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
		archive.CreateEntries(corpus);
		// Create ZIP archive
		archive.Save(zipFile);
	}
}

Agregue varios archivos a un archivo ZIP en C#

Si lo necesitas. Añade más archivos al archivo ZIP, se pueden seleccionar múltiples enfoques. Aquí están los métodos que puedes usar con ellos. C# para la compresión de múltiples archivos:

Uso de FileStream para agregar varios archivos

Este método utiliza FileStream Clase para agregar archivos al archivo ZIP usando Archive.CreateEntry(String, FileStream) Método. Aquí tienes cómo puedes hacerlo:

using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
	using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
	{
		// Add folder to archive
		DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
		archive.CreateEntries(corpus);
		// Create ZIP archive
		archive.Save(zipFile);
	}
}

Uso de FileInfo para varios archivos

Alternativamente, puede usar. FileInfo Clase para cargar archivos y añadir al archivo ZIP mediante Archive.CreateEntry(String, FileInfo) Método. A continuación, un ejemplo de código:

Uso del archivo CEST

También puedes especificar rutas directas a archivos. Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) Método. Aquí hay un ejemplo:

Añade carpetas a un archivo ZIP en C#

Mach Agregar carpeta al archivo ZIP en C#,siga estos pasos:

  1. Creación FileStream Objeto para el archivo de salida ZIP.
  2. Créalo Archivo perfecto.
  3. puente DirectoryInfo Clase para especificar la carpeta que deseas comprimir.
  4. Añade una carpeta a ZIP con el. Archive.CreateEntries(DirectoryInfo) Método.
  5. Guarde el archivo ZIP con. Archive.Save(FileStream) Método.

A continuación se muestra un ejemplo de código que indica cómo agregar una carpeta al archivo ZIP:

Cree un ZIP protegido con contraseña con ZipCrypto en C#

Si desea asegurar sus archivos ZIP, puede usar la protección con contraseña mediante cifrado ZipCrypto. Esto se hace usando ello. ArchiveEntrySettings Clase en el constructor Archivo, que acepta el tipo de cifrado como parámetro. Puedes usar C# contraseña de archivo Zip Método para una fácil implementación del mismo.

Aquí tienes un ejemplo de cómo crear un archivo ZIP con contraseña usando ZipCrypto en C#:

Cree un ZIP protegido con contraseña con cifrado AES

Ti Aspose.ZIP for .NET La biblioteca también admite AES‑Verschlüsselung, para la protección de los archivos ZIP. Puede elegir entre los siguientes métodos de AES‑Verschlüsselung..:

  • AES128
  • AES192
  • AES256

Para usar cifrado AES, use el AesEcryptionSettings Perfecto. A continuación hay un fragmento de código que muestra cómo crear un ZIP protegido con contraseña con cifrado AES en C#, incluida la compatibilidad con C# Contraseña para archivo Zip Operación:

Configuración del modo de compresión paralelo

Para un procesamiento eficiente de múltiples elementos, puede configurar la API para compresión paralela con el the. ParallelOptions Perfecto. Los métodos de compresión paralela disponibles son:

  • no - No descomprima en paralelo.
  • altid - Compresión paralela (cuidado con posibles problemas de memoria).
  • Bil - Toma automática de decisión sobre si se utilizará compresión paralela basada en los datos.

A continuación se muestra una guía sobre cómo configurar el modo de compresión paralela al comprimir varios archivos con la biblioteca Aspose C# ZIP:

using Aspose.Zip;
using Aspose.Zip.Saving;
// For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
string dataDir = "";
using (FileStream zipFile = File.Open(dataDir + "UsingParallelismToCompressFiles_out.zip", FileMode.Create))
{
    using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
    {
        using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
        {
            using (var archive = new Archive())
            {
                archive.CreateEntry("alice29.txt", source1);
                archive.CreateEntry("asyoulik.txt", source2);
                //Define the parallelism criterion
                var parallelOptions = new Aspose.Zip.Saving.ParallelOptions
                {
                    ParallelCompressInMemory = ParallelCompressionMode.Always
                };
                archive.Save(zipFile,
                    new ArchiveSaveOptions()
                    {
                        ParallelOptions = parallelOptions,
                        Encoding = Encoding.ASCII,
                        ArchiveComment = "There are two poems from Canterbury corpus"
                    });
            }
        }
    }
}

Aprende más sobre la biblioteca C# .NET ZIP Library

Para que profundice su comprensión. C# .NET ZIP biblioteca, examine los siguientes recursos:

Prueba nuestra herramienta en línea para comprimir Zip

También puedes experimentar con el nuestro. aplicación en línea gratuita basado en Aspose.ZIP para .NET para la fácil compresión de archivos en archivos ZIP.

Conclusión

En este artículo aprendiste cómo. Cree archivos ZIP programáticamente en C#. Los ejemplos de código proporcionados muestran cómo agregar archivos y carpetas a archivos ZIP, crear archivos ZIP protegidos con contraseña usando los métodos de cifrado ZipCrypto y AES y configurar la compresión paralela. Además, ahora entiendes cómo Cree archivos ZIP en C#, incluyendo cómo comprimir un archivo, Cree el archivo ZIP en C#, en Agregar archivos a ZIP Archivo. Si tiene preguntas o necesita más ayuda, no dude en comunicarse con nosotros a través de nuestro/a. Foro.

Y tú

Descomprime RAR o extrae archivos con C#Extracción de archivos de archivos ZIP con C#Cree un archivo 7z (7‑Zip) en C# .NET
Abrir o extraer un archivo 7z (7zip) en C# .NETCreación y descompresión de archivos GZip con C#Convierta los archivos RAR al archivo ZIP en C#
Convierta archivos ZIP a TAR en C#Cree un archivo ZIP de nivel en C#Cree un archivo ejecutable autoextraíble en C#
Cree archivos TAR.GZ y TAR.XZ en C#Eliminar archivos en el archivo ZIP con C#Descompresión de archivos ZIP incrustados en C#
Combine varios archivos ZIP o TAR en C#¿Cómo creas archivos ZIP?Descompresión de 7z en línea

Recursos adicionales

Si buscas más información sobre cómo Crea ZIP archivos en C#, piensa en verlo:

Integración de varios métodos para Crea ZIP archivos en C#, por ejemplo .NET Creación del núcleo ZIP archivo, Creación de un archivo ZIP programáticamente con C#, en Agregar archivos C# a ZIP, puede aumentar significativamente la eficiencia de su desarrollo y de sus capacidades de procesamiento de datos.

También puedes explorar Ejemplo de C# para archivo ZIP para que puedan ver la aplicación práctica de estos métodos, lo que profundizará aún más su comprensión. Archivos Zip en .NET con C#.

More in this category