Travailler avec des archives GZip

Aperçu

L’API Aspose.ZIP pour Java permet de créer et de gérer des archives GZip dans vos applications sans avoir recours à des applications tierces. L’API Aspose.ZIP fournit la classe GZipArchive pour travailler avec les archives GZip. Cette classe fournit diverses méthodes pour effectuer des opérations sur les archives.

L’algorithme de compression Gzip est basé sur l’algorithme DEFLATE, qui est une combinaison de LZ77 et de codage de Huffman.

Compresser un fichier

L’exemple de code suivant montre comment compresser un fichier en utilisant l’instance GZipArchive.

1try (GzipArchive archive = new GzipArchive()) {
2    archive.setSource(dataDir + "data.bin") ;
3    archive.save(dataDir + "archive.gz") ;
4}

Ouvrir une archive GZIP

L’exemple de code suivant montre comment ouvrir une archive GZip.

 1try (GzipArchive archive = new GzipArchive(dataDir + "archive.gz")) {
 2    try (FileOutputStream extracted = new FileOutputStream(dataDir + "data.bin")) {
 3        InputStream unpacked = archive.open() ;
 4        byte[] b = new byte[8192] ;
 5        int bytesRead ;
 6        while (0 < (bytesRead = unpacked.read(b, 0, b.length))) {
 7            extrait.write(b, 0, bytesRead) ;
 8        }
 9    }
10} catch (IOException ex) {
11    System.out.println(ex) ;
12}

Extraire vers le flux de sortie

L’exemple de code suivant montre comment ouvrir une archive à partir d’un flux et l’extraire dans un ByteArrayOutputStream.

 1ByteArrayOutputStream outputStream = new ByteArrayOutputStream() ;
 2try (GzipArchive archive = new GzipArchive(new FileInputStream(dataDir + "sample.gz"))) {
 3    byte[] b = new byte[8192] ;
 4    int bytesRead ;
 5    InputStream archiveStream = archive.open() ;
 6    while (0 < (bytesRead = archiveStream.read(b, 0, b.length))) {
 7        outputStream.write(b, 0, bytesRead) ;
 8    }
 9    System.out.println(archive.getName()) ;
10} catch (IOException ex) {
11    System.out.println(ex) ;
12}

Enregistrement dans le flux de sortie

L’exemple de code suivant montre comment ouvrir et enregistrer dans OutputStream.

1ByteArrayOutputStream outputStream = new ByteArrayOutputStream() ;
2try (GzipArchive archive = new GzipArchive()) {
3    archive.setSource(new File(dataDir + "data.bin")) ;
4    archive.save(outputStream) ;
5}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.