Crear archivo 7Zip en C#

En una publicación anterior, exploramos varios métodos para crear archivos ZIP usando C#. Este artículo ampliará ese conocimiento al enfocarse en el formato 7z, que se basa en una arquitectura de código abierto y ofrece una alta relación de compresión. Notablemente, 7z admite cifrado AES de 256 bits, lo que permite asegurar no solo los archivos, sino también sus nombres.

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 utilizando uno de los siguientes métodos:

Crear 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 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 utilizando el método SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Guarda el archivo utilizando el método SevenZipArchive.Save(Stream).

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

Crear 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#:

Crear un archivo 7z cifrado AES usando C#

El formato 7z admite cifrado AES para mayor seguridad. Para cifrar un archivo 7z, utiliza la clase SevenZipAESEncryptionSettings. A continuación se muestra un ejemplo de código que demuestra cómo crear un archivo 7z cifrado AES usando C#:

Establecer diferentes contraseñas para 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 utilizando la clase FileInfo.
  3. Crea una instancia de la clase SevenZipArchive.
  4. Agrega entradas al archivo 7z utilizando el método SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Guarda el archivo utilizando 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 cubierto cómo crear archivos 7z programáticamente usando C#. También exploramos cómo implementar el cifrado AES para una 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 Aspose para .NET, puedes integrar fácilmente compresión .NET 7-Zip en tus aplicaciones, optimizar tus procesos de gestión de archivos y mejorar las capacidades de tu software. Por solo $99, puedes desbloquear potentes características que admiten el manejo de archivos grandes, compresión asincrónica y más.