Conversi�n de ZIP a tar.gz
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 quieres convertir un archivo ZIP a tar.gz lee este art�culo.
Conversi�n
La API de Aspose.ZIP proporciona la funci�n 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 inmediatamente.
Aseg�rese de que dispone de suficiente memoria virtual para guardar el contenido de todas las entradas.
Transfiera una entrada
El siguiente ejemplo de c�digo demuestra c�mo extraer entradas del archivo ZIP y ponerlas inmediatamente en el archivo tar.gz. Las entradas que son directorios se omiten, pero sus ficheros se a�aden respetando las rutas relativas.
1try (Archivo fuente = nuevo Archivo("fuente.zip")) {
2 try (TarArchive tar = new TarArchive()) {
3 for (ArchiveEntry entry : source.getEntries()) {
4 if (!entry.isDirectory()) {
5 ByteArrayOutputStream out = new ByteArrayOutputStream();
6 try (InputStream mem = entry.open()) {
7 byte[] b = nuevo byte[8192];
8 int bytesRead;
9 while (0 < (bytesRead = mem.read(b, 0, b.length)) {
10 out.write(b, 0, bytesRead);
11 }
12 }
13 tar.createEntry(entry.getName(), new ByteArrayInputStream(out.toByteArray()));
14 }
15 }
16
17 tar.saveGzipped("result.tar.gz");
18 }
19} catch (IOException ex) {
20 System.out.println(ex);
21}