Convertir ZIP a TAR en C#

Convertir ZIP a TAR en C#

El formato de archivo ZIP es muy conocido y se usa ampliamente para comprimir archivos y carpetas en un solo archivo comprimido. Mientras que TAR es otro formato de archivo basado en UNIX que ofrece la compresión de varios archivos en una sola ubicación. De hecho, la compresión de archivos es un componente imprescindible en cualquier negocio en línea porque reduce el tamaño del archivo y acelera la transferencia de archivos a través de Internet. La mayoría de las veces, se prefiere TAR, ya que conserva los permisos y las disposiciones. En esta publicación de blog, aprenderemos cómo convertir ZIP a TAR en C# mediante programación en una aplicación .NET.

Cubriremos las siguientes secciones:

Instalación de la API del convertidor de ZIP a TAR

Usaremos esta biblioteca ZIP de .NET para lograr mediante programación la conversión de ZIP a TAR. Es una biblioteca ligera que se utiliza para comprimir y descomprimir varios tipos de formatos de archivo.

Puede instalar esta API descargando los archivos DLL o instalándolos ejecutando el siguiente comando en el administrador de paquetes NuGet.

Install-Package Aspose.Zip 

Convierta ZIP a TAR en C# programáticamente

La API de conversión de ZIP a TAR ofrece métodos y propiedades para convertir el formato ZIP al formato de archivo TAR. Sin embargo, puede consultar la lista de métodos disponibles aquí.

Siga los siguientes pasos para lograr esta conversión:

  1. Cree una instancia de la clase Archive y cargue el archivo ZIP de origen.
  2. Cree un objeto de la clase TarArchive para acceder a las funciones de TAR.
  3. Cree un objeto de la clase ArchiveEntry para acceder a cada ArchiveEntry en el ZIP.
  4. Inicialice un objeto de la clase MemoryStream y copie la entrada usando el método entry.Open().CopyTo(mem).
  5. Invoque el método CreateEntry para crear una sola entrada dentro del archivo TAR.
  6. Guarde el archivo TAR llamando al método SaveGzipped.

Copie y pegue el siguiente fragmento de código en su archivo principal y ejecute el servidor:

 // Cree una instancia de la clase Archive y cargue el archivo ZIP de origen 
            using (Archive source = new Archive("CompressDirectory_out.zip"))
            {
                // crear un objeto de la clase TarArchive para acceder a las funciones de TAR   
                using (TarArchive tar = new TarArchive())
                {
                    // Cree un objeto de la clase ArchiveEntry para acceder a cada ArchiveEntry en el ZIP 
                    {
                        if (!entry.IsDirectory)
                        { 
                            // Inicialice un objeto de la clase MemoryStream y copie la entrada usando el método entry.Open().CopyTo(mem)   
                            MemoryStream mem = new MemoryStream();
                            entry.Open().CopyTo(mem); 
                            // invoque el método CreateEntry para crear una sola entrada dentro del archivo TAR.             
                            tar.CreateEntry(entry.Name, mem);
                        }
                    }
                    // guarde el archivo TAR llamando al método SaveGzipped. 
                    tar.SaveGzipped("result.tar.gz");
                }
            }

Obtenga una licencia gratis

Puede aprovechar una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Resumiendo

Estamos terminando esta publicación de blog aquí. Hemos implementado el proceso para convertir ZIP a TAR en C# utilizando esta biblioteca ZIP de .NET. Además, este artículo seguramente lo ayudará si desea integrar una API de conversión de ZIP a TAR en su aplicación .NET. Además, puede visitar la documentación de esta biblioteca para conocer otros métodos y propiedades. Finalmente, conholdate.com está escribiendo nuevas publicaciones de blog sobre otros temas. Por lo tanto, manténgase en contacto para recibir actualizaciones periódicas.

Hacer una pregunta

Puede informarnos acerca de sus preguntas o consultas en nuestro foro.

Ver también