Conversion de ZIP en tar.gz

Tar.gz est de loin le format d’archive compress� le plus r�pandu dans le monde Linux, tandis que ZIP est le plus populaire pour Windows. Si vous souhaitez convertir une archive ZIP en tar.gz, lisez cet article.

Conversion

L’API Aspose.ZIP fournit la fonction saveGzipped pour compresser une archive tar � la vol�e. Nous pouvons extraire une entr�e de l’archive ZIP en m�moire sans la sauvegarder dans un stockage interm�diaire et la passer imm�diatement dans l’archive tar.

Assurez-vous que vous disposez de suffisamment de m�moire virtuelle pour conserver le contenu de toutes les entr�es.

Transf�rer une entr�e

L’exemple de code suivant montre comment extraire des entr�es de l’archive ZIP et les placer imm�diatement dans l’archive tar.gz. Les entr�es qui sont des r�pertoires sont ignor�es, mais leurs fichiers sont ajout�s en respectant les chemins relatifs.

 1try (Archive source = new Archive("source.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 = new 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}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.