Conversi�n de ZIP a tar.gz mediante C#
Tar.gz es, con diferencia, el formato de archivo comprimido m�s extendido en el mundo Linux, mientras que ZIP es el m�s popular para Windows. Si desea convertir un archivo ZIP a tar.gz, lea este art�culo.
Conversi�n
API Aspose.ZIP proporciona el� m�todo SaveGzipped para comprimir un archivo tar sobre la marcha. Podemos extraer una entrada del archivo ZIP a la memoria sin guardarla en un almacenamiento intermedio y pasarla al archivo tar de inmediato.
Aseg�rese de tener suficiente memoria virtual para guardar el contenido de todas las entradas.
Transferir una entrada
El siguiente ejemplo de c�digo demuestra c�mo extraer entradas del archivo ZIP e inmediatamente colocarlas en el archivo tar.gz. Las entradas que son directorios se omiten, pero sus archivos se agregan respetando rutas relativas.
1 using (Archive source = new Archive("source.zip"))
2 {
3 using (TarArchive tar = new TarArchive())
4 {
5 foreach (ArchiveEntry entry in source.Entries)
6 {
7 if (!entry.IsDirectory)
8 {
9 MemoryStream mem = new MemoryStream();
10 entry.Open().CopyTo(mem);
11 tar.CreateEntry(entry.Name, mem);
12 }
13 }
14
15 tar.SaveGzipped("result.tar.gz");
16 }
17 }