
En esta publicación del blog, exploraremos cómo convertir archivos ZIP al formato TGZ(tar.gz) usando C#. La conversión de ZIP a TGZ es una tarea común, especialmente cuando se trabaja con archivos comprimidos para sistemas tipo Unix. El siguiente tutorial incluye una explicación paso a paso y el código necesario para comenzar.
¿Por qué convertir ZIP a TGZ?
Es posible que necesites convertir ZIP al formato TGZ por diferentes motivos, como:
Compatibilidad entre plataformas: los archivos TGZ se utilizan habitualmente en sistemas basados en Unix (Linux, macOS), mientras que los archivos ZIP son populares en Windows. La conversión de ZIP a TGZ facilita la manipulación de archivos comprimidos en diferentes entornos.
Beneficios de la compresión: Los archivos TGZ generalmente proporcionan mejores relaciones de compresión en comparación con ZIP, ahorrando espacio de almacenamiento y reduciendo los tiempos de transferencia.
Automatización de tareas: en C#, automatizar las conversiones de formatos de archivos puede ahorrar tiempo y esfuerzo, especialmente en aplicaciones que manejan grandes volúmenes de datos.
Configuración de API de C# para convertidores ZIP a TGZ
Puede convertir ZIP a TGZ instalando Conholdate.Total for .NET ejecutando el siguiente comando NuGet en el IDE de Visual Studio:
PM> NuGet\Install-Package Conholdate.Total
Convertir ZIP a TGZ en C#
Los siguientes pasos muestran cómo convertir ZIP a TGZ en C#:
Cargar el archivo ZIP: La clase Archive carga el archivo ZIP de origen que contiene las entradas que desea convertir al formato TGZ.
Creación de un TarArchive: Creamos un objeto TarArchive para comenzar a preparar el contenido para el archivo TGZ.
Procesamiento de entradas: se itera sobre cada entrada del archivo ZIP. Si no es un directorio, extraemos sus datos en un MemoryStream.
Agregar entradas a TarArchive: para cada entrada válida, se utiliza el método CreateEntry para agregar el archivo al tarball, junto con los datos almacenados en la memoria.
Guardar como TGZ: se invoca el método SaveGzipped para comprimir y guardar el archivo tar como un archivo .tar.gz.
El siguiente fragmento de código muestra la conversión de ZIP a TGZ en C#:
using (Archive source = new Archive("source.zip"))
{
using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
tar.SaveGzipped("result.tar.gz");
}
}
Licencia de evaluación gratuita
Puede solicitar una licencia temporal gratuita para probar la conversión ZIP sin ninguna restricción de evaluación en su entorno.
Conclusión
La conversión de ZIP a TGZ en C# es un proceso sencillo para procesar archivos comprimidos. Ya sea que esté tratando con el uso compartido de archivos entre plataformas o la optimización de tamaños de archivos, este proceso de conversión es muy beneficioso. Si sigue el ejemplo de código proporcionado, puede automatizar la conversión de ZIP a TGZ en sus aplicaciones .NET, lo que garantiza la compatibilidad y la eficiencia en la gestión de archivos comprimidos. Si tiene alguna pregunta, escríbanos a forum.
Preguntas frecuentes
¿El formato TGZ es compatible con Windows?
Sí, aunque es más común en sistemas basados en Unix, los archivos TGZ también se pueden extraer y crear en Windows.
¿Puedo incluir directorios en el archivo TGZ?
Sí, el código se puede modificar para incluir directorios eliminando la verificación !entry.IsDirectory y manejando los directorios en consecuencia.
¿Es posible automatizar la conversión de ZIP a TGZ?
Sí, el código proporcionado se puede integrar en aplicaciones C# más grandes, lo que permite realizar conversiones automatizadas en un lote o en tareas programadas.