
En esta publicación del blog, lo guiaremos a través del proceso de conversión de un archivo ZIP a un formato 7z usando C#. El formato 7z es conocido por su alta tasa de compresión y se usa ampliamente para reducir el tamaño de los archivos, lo que lo hace ideal para el almacenamiento y la transferencia eficientes. Demostraremos cómo implementar la conversión mediante un enfoque paso a paso.
¿Por qué convertir ZIP a 7z?
Hay varias razones para convertir archivos ZIP a 7z:
Reduce el tamaño de los archivos: el formato 7z ofrece una compresión superior en comparación con ZIP.
Mejora el rendimiento: los tamaños de archivo más pequeños dan como resultado cargas, descargas y transferencias más rápidas.
Mayor relación de compresión: el formato 7z comprime los archivos de manera más eficiente, reduciendo el tamaño del archivo para un almacenamiento optimizado.
Convertidor de archivos ZIP a 7z: configuración de la API de C#
Para convertir archivos ZIP al formato 7z, debe instalar Conholdate.Total for .NET utilizando el siguiente comando de instalación de NuGet en Microsoft Visual Studio IDE:
PM> NuGet\Install-Package Conholdate.Total
Convertir ZIP a 7z en C#
Puede seguir los pasos a continuación para convertir ZIP a 7z en C#:
Archivo: representa el archivo ZIP que desea convertir. La clase Archivo se utiliza para abrir y leer el archivo ZIP.
SevenZipArchive: esta clase se utiliza para crear y guardar un archivo 7z.
SevenZipEntrySettings: especifica la configuración de compresión para el formato 7z. En este caso, utilizamos el algoritmo de compresión LZMA2 para lograr la máxima eficiencia de compresión.
MemoryStream: los datos del archivo se copian en la memoria mediante un flujo y cada entrada del archivo ZIP se agrega al nuevo archivo 7z.
El código de muestra a continuación demuestra cómo convertir ZIP a 7z en C#:
using (Archive source = new Archive("source.zip"))
{
using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
mem.Seek(0, SeekOrigin.Begin);
archive.CreateEntry(entry.Name, mem);
}
}
archive.Save("result.7z");
}
}
Licencia de evaluación gratuita
Puede obtener una licencia temporal gratuita para evaluar diferentes conversiones o manipulaciones de archivos por su parte.
Conclusión
Si sigue los pasos descritos anteriormente, podrá convertir fácilmente un archivo ZIP al formato 7z en C#. La mayor eficiencia de compresión del formato 7z lo convierte en una excelente opción para reducir el tamaño de los archivos, lo que ayuda a mejorar el rendimiento al manejar archivos de gran tamaño. En caso de que necesite analizar cualquier ambigüedad, comuníquese con nosotros en forum.
Preguntas frecuentes
¿Puedo proteger con contraseña el archivo 7z?
Sí, el formato 7z admite cifrado avanzado, lo que le permite proteger su archivo con una contraseña.
¿Puedo convertir varios archivos ZIP a 7z en una sola operación?
Sí, puedes recorrer varios archivos ZIP y aplicar la misma lógica para la conversión.
¿Necesito instalar el software 7-Zip en mi máquina?
No, Conholdate.Total para .NET incluye todos los componentes necesarios para trabajar con 7z sin software adicional.