C�mo comprimir o extraer archivos usando C#

Descripci�n general

Este art�culo explica c�mo comprimir o extraer archivos. Estos archivos podr�an ser Zip, 7z, Rar y otros formatos similares. Cubre los siguientes temas.

Formato: ZIP

Formato: ZIP - Contrase�a

Formato: 7z

Formato: RAR

Otros temas tratados en este art�culo.

C# comprimir o extraer archivos

Esta p�gina muestra c�mo realizar operaciones de archivo est�ndar en C# usando Aspose.ZIP para .NET. El paquete Aspose.ZIP se puede agregar a su proyecto .NET usando el siguiente comando NuGet:

1PM> Install-Package Aspose.Zip

Tambi�n se puede agregar directamente al proyecto .NET como referencia de ensamblaje. La biblioteca Aspose.ZIP se puede descargar desde nuestra p�gina de inicio: https://products.aspose.com/zip/net/.

La biblioteca Aspose.ZIP .NET se puede utilizar en cualquier sistema operativo que admita .NET Core (por ejemplo, Windows, Linux o macOS).

C�mo crear archivos ZIP en C#

Pasos: crear un archivo Zip en C#

  1. Cree una instancia de la clase Archivo.
  2. Agregue archivos usando el m�todo Archive.CreateEntry.
  3. Comprima los archivos usando el m�todo Archive.Save.
1using (var archive = new Archive())
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

El constructor de clases de archivo crea un archivo ZIP normal utilizando algoritmo de compresi�n Deflate y sin cifrado.

C�mo descomprimir archivos en C#

Pasos: descomprimir el archivo en una carpeta en C#

  1. Cree una instancia de la clase Archivo con su archivo zip.
  2. Descomprima el archivo zip usando el m�todo Archive.ExtractToDirectory en su carpeta.
1using (var archive = new Archive("input_archive.zip"))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

El constructor de clases de archivo puede abrir cualquier archivo ZIP. ArchiveLoadOptions debe proporcionarse como segundo par�metro en caso de que el archivo de entrada est� protegido con contrase�a (consulte el ejemplo a continuaci�n).

C�mo comprimir archivos 7z en C#

Pasos: crear archivos 7z en C#

  1. Cree una instancia de la clase SevenZipArchive con SevenZipLZMACompressionSettings.
  2. Agregue sus archivos llamando al m�todo SevenZipArchive.CreateEntries.
  3. Gu�rdelo en formato 7z llamando al m�todo SevenZipArchive.Save.
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3	archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4	archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}

Se debe utilizar el constructor de la clase SevenZipArchive para crear un nuevo archivo 7z. El ejemplo anterior utiliza la compresi�n LZMA cl�sica, pero tambi�n hay disponibles otras opciones de compresi�n y cifrado.

C�mo extraer archivos 7z en C#

Pasos: extraer el archivo 7z en C#

  1. Cree una instancia de la clase SevenZipArchive con su archivo 7z.
  2. Extraiga el contenido del archivo 7z llamando al m�todo SevenZipArchive.ExtractToDirectory.
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

En el ejemplo anterior, el constructor de la clase SevenZipArchive abre un archivo 7z no protegido.

C�mo extraer archivos RAR en C#

Pasos: extraer el archivo RAR en C#

  1. Cree una instancia de la clase RarArchive con su archivo RAR.
  2. Extraiga el contenido del archivo RAR llamando al m�todo RarArchive.ExtractToDirectory.
1using (var archive = new RarArchive("input_archive.rar"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

En el ejemplo anterior, el constructor de la clase RarArchive abre un archivo RAR no protegido.

C�mo comprimir archivos con contrase�a en C#

Pasos: crear un archivo Zip con contrase�a en C#

  1. Cree una instancia de la clase Archivo.
  2. P�selo ArchiveEntrySettings y establezca la propiedad encryptionSettings con el objeto de TraditionalEncryptionSettings que tiene su contrase�a.
  3. Agregue tantos archivos llamando al m�todo Archive.CreateEntry varias veces.
  4. Gu�rdelo como archivo Zip usando el m�todo Archive.Save.
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

El par�metro de configuraci�n de cifrado se utiliza para crear un archivo ZIP protegido con contrase�a.

C�mo descomprimir archivos con contrase�a en C#

Pasos: descomprimir el archivo Zip protegido con contrase�a usando C#

  1. Cree una instancia de la clase Archivo.
  2. P�sele el objeto ArchiveLoadOptions y establezca la propiedad DecryptionPassword con su archivo zip contrase�a.
  3. Descomprima el archivo zip usando el m�todo Archive.ExtractToDirectory en su carpeta.
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

El valor de la propiedad ArchiveLoadOptions con DecryptionPassword se utiliza para abrir un archivo ZIP protegido con contrase�a.

Ver tambi�n

Este art�culo tambi�n cubre estos temas. Los c�digos son los mismos que los anteriores.

Formato: ZIP

Formato: 7z

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.