Crear archivo 7Zip en C#

En una publicación anterior, exploramos varios métodos para crear archivos ZIP usando C#. En este artículo, ampliaremos esa base enfocándonos en el formato 7z. El formato 7z se basa en una arquitectura de código abierto y ofrece una alta relación de compresión, junto con la capacidad de usar encriptación AES de 256 bits para asegurar tanto los archivos como sus nombres.

Lo que aprenderás

En esta guía, aprenderás a crear archivos 7z (7-Zip) programáticamente usando C#. Cubriremos:

Todos los ejemplos y fragmentos de código se basan en la API de Aspose.ZIP para .NET. Asegúrate de tener la API instalada usando uno de los siguientes métodos:

Crea un archivo 7z (7-Zip) usando C#

Puedes comprimir archivos en un archivo 7z en dos escenarios principales: al tratar con un solo archivo o múltiples archivos. Aquí te mostramos cómo manejar ambas situaciones.

Crear un archivo 7z con una sola entrada

Para crear un archivo 7z con un solo archivo, sigue estos pasos:

  1. Abre un nuevo FileStream para crear un archivo 7z.
  2. Crea una instancia de la clase SevenZipArchive.
  3. Agrega el archivo al archivo usando el método SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Guarda el archivo usando el método SevenZipArchive.Save(Stream).

Aquí tienes un ejemplo de archivo 7z en C# que demuestra los pasos anteriores:

Crear un archivo 7z con múltiples entradas

Si necesitas comprimir múltiples archivos, puedes colocarlos en una carpeta y pasar la ruta de la carpeta al método SevenZipArchive.CreateEntries(). Sigue estos pasos:

  1. Crea una instancia de la clase SevenZipArchive.
  2. Pasa la ruta de la carpeta al método SevenZipArchive.CreateEntries(String, Boolean).
  3. Llama al método SevenZipArchive.Save(String).

Aquí te mostramos cómo crear un archivo 7z con múltiples entradas usando C#:

Crea un archivo 7z encriptado con AES usando C#

El formato 7z soporta encriptación AES para mayor seguridad. Para encriptar un archivo 7z, usa la clase SevenZipAESEncryptionSettings. A continuación, se muestra un ejemplo de código que demuestra cómo crear un archivo 7z encriptado con AES usando C#:

Establecer diferentes contraseñas para las entradas 7z usando C#

El formato 7z también te permite asignar una contraseña única para cada entrada de archivo. Si estás comprimiendo múltiples archivos, puedes especificar diferentes contraseñas para cada uno. Aquí te mostramos cómo hacerlo:

  1. Crea un nuevo FileStream para el archivo de archivo 7z.
  2. Accede a cada entrada de archivo usando la clase FileInfo.
  3. Crea una instancia de la clase SevenZipArchive.
  4. Agrega entradas al archivo 7z usando el método SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Guarda el archivo usando el método SevenZipArchive.Save(Stream).

Consulta el siguiente ejemplo de código para ver cómo establecer diferentes contraseñas para cada entrada en un archivo 7z:

Conclusión

En este artículo, hemos explorado cómo crear archivos 7z programáticamente usando C#. También discutimos la implementación de encriptación AES para mayor seguridad y cómo establecer contraseñas únicas para cada entrada de archivo. Para más información sobre compresión y descompresión de archivos, puedes consultar la documentación de Aspose.ZIP.

Artículos Relacionados

Al aprovechar el Plugin de Aspose para .NET, puedes integrar fácilmente la compresión .NET 7-Zip en tus aplicaciones, agilizar tus procesos de gestión de archivos y mejorar las capacidades de tu software. Por solo $99, puedes desbloquear características poderosas que soportan el manejo de archivos grandes, compresión asíncrona y más.