Conversión Zip a través de C#

convertir ZIP a varios formatos de archivo de archivos

Cómo convertir Zip usando C#

La conversión de archivos ZIP usando C# se puede facilitar con Aspose.Zip para .NET, una potente API que simplifica el proceso. La biblioteca permite a los desarrolladores realizar diversas operaciones, incluida la extracción y creación de archivos ZIP, junto con protección con contraseña y personalización del nivel de compresión. Utilizando los métodos relevantes proporcionados por Aspose.Zip, los desarrolladores pueden manejar fácilmente conversiones de archivos ZIP en muchos formatos de archivos populares como RAR , CPIO , CAB , TAR y otros.

La conversión de un archivo a otro es esencialmente una combinación de descomprimir el primero y componer el segundo. Puede almacenar datos extraídos provisionalmente en la RAM sin necesidad de descargarlos en el disco. Tenga cuidado con el consumo de memoria y sepa cuánta memoria puede asignar para residir estas entradas.

Guía para desarrolladores: conversión de archivos

El fragmento de código proporcionado demuestra cómo convertir un archivo RAR a formato ZIP en C#. Utiliza la biblioteca Aspose.Zip para extraer fácilmente las entradas RAR y luego crear las entradas correspondientes en el archivo ZIP.

Revisemos este ejemplo paso a paso:

  1. Crear una instancia de archivo ZIP preparado para comprimir. Lo llenaremos con entradas sobre los próximos pasos.
  2. Crear una instancia de archivo Rar preparado para la descompresión, proporcionando la ruta al archivo.
  3. Extracto cada entrada al almacenamiento temporal.
  4. Redactar una entrada zip de ese almacenamiento. Si la entrada representa un directorio, simplemente usamos su ruta.
  5. Guardar el archivo en la ruta proporcionada.

Convertir de RAR a ZIP

El fragmento de código proporcionado demuestra cómo convertir un archivo RAR a formato ZIP en C#. Utiliza la biblioteca Aspose.Zip para extraer fácilmente las entradas RAR y luego crear las entradas correspondientes en el archivo ZIP.

  using (Archive zip = new Archive())
  {
    using (RarArchive rar = new RarArchive("archive.rar"))
    {
      for (int i = 0; i < rar.Entries.Count; i++)
      {
        if (!rar.Entries[i].IsDirectory)
        {
          var ms = new MemoryStream();
          rar.Entries[i].Extract(ms);
          ms.Seek(0, SeekOrigin.Begin);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

Convertir de ZIP a 7Z

El fragmento de código muestra la conversión de un archivo ZIP a un formato 7Z mediante C#. Aprovechando la biblioteca SevenZipArchive, el script extrae las entradas ZIP y crea las entradas correspondientes en el archivo 7Z.

Revisemos este ejemplo paso a paso:

1. Crear una instancia del archivo 7z preparado para comprimir. Lo llenaremos con entradas sobre los próximos pasos.
2. Crear una instancia del archivo ZIP preparado para descompresión, proporcionando ruta al archivo.
3. Extracto cada entrada al almacenamiento temporal.
4. Redactar una entrada 7z de ese almacenamiento.
5. Guardar el archivo en la ruta proporcionada.

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

Convertir de un archivo TAR.GZ a ZIP

El fragmento de código proporcionado aquí demuestra la conversión de un archivo TAR.GZ (GZIP) a un formato ZIP a través de C#. La clase TarArchive tiene métodos convenientes para operar con archivos tarball comprimidos, particularmente con gzip, el script extrae entradas del archivo TAR.GZ y crea las entradas correspondientes en el archivo ZIP.

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

Funciones de conversión en la documentación.

La API Aspose.Zip .NET es conocida por su sólida capacidad para manejar conversiones de archivos complejas, lo que permite una transformación perfecta entre varios formatos de archivo con la máxima eficiencia y confiabilidad. Con la capacidad de convertir archivos ZIP a otros formatos de archivo populares y viceversa, los desarrolladores pueden garantizar la integridad de los datos y un rendimiento óptimo en diferentes plataformas y aplicaciones. Esta característica de conversión esencial simplifica el proceso de transferencia, almacenamiento y uso compartido de datos, lo que permite una compatibilidad fluida con diversos entornos de software. Al aprovechar la API Aspose.Zip .NET, los usuarios pueden manipular archivos comprimidos sin esfuerzo y facilitar una integración perfecta con las aplicaciones que deseen, mejorando así su productividad y eficiencia del flujo de trabajo. El espacio de nombres ZIP contiene clases que representan archivos zip y entidades comunes relacionadas con archivos.

Instalación de Aspose.Zip para la biblioteca .NET

Si ha utilizado el instalador MSI para implementar Aspose.ZIP, siga estos pasos para eliminar completamente el componente y las demostraciones y documentación asociadas:

  1. En el menú Inicio, seleccione Configuración seguido de Panel de control.
  2. Haga clic en Agregar o quitar programas.
  3. Seleccione Aspose.ZIP.
  4. Haga clic en el botón Cambiar/Quitar para eliminar Aspose.ZIP.
    Para obtener más detalles sobre la instalación de la biblioteca C#, consulte la Documentación de Aspose.ZIP .

Otras conversiones de archivos comprimidos admitidas

También puede convertir archivos CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z a muchos otros formatos de archivo, incluidos algunos que se enumeran a continuación: