Arbeiten mit GZip-Archiven

Übersicht

Aspose.ZIP für Java API ermöglicht das Erstellen und Verwalten von GZip-Archiven in Ihren Anwendungen, ohne dass andere Anwendungen von Drittanbietern erforderlich sind. Aspose.ZIP API bietet die Klasse GZipArchive für die Arbeit mit GZip-Archiven. Diese Klasse bietet verschiedene Methoden, um Operationen mit Archiven durchzuführen.

Der Gzip-Komprimierungsalgorithmus basiert auf dem DEFLATE-Algorithmus, der eine Kombination aus LZ77 und Huffman-Kodierung ist.

Eine Datei komprimieren

Das folgende Codebeispiel zeigt, wie eine Datei mit der GZipArchive-Instanz komprimiert wird.

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

GZIP-Archiv öffnen

Das folgende Codebeispiel zeigt, wie man ein GZip-Archiv öffnet.

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

Extrahieren in den Ausgabestrom

Das folgende Codebeispiel zeigt, wie ein Archiv aus einem Stream geöffnet und in einen ByteArrayOutputStream extrahiert wird.

 1ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 2try (GzipArchive archive = new GzipArchive(new FileInputStream(dataDir + "sample.gz"))) {
 3    byte[] b = new byte[8192];
 4    int bytesLesen;
 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}

Speichern im Ausgabestrom

Das folgende Codebeispiel zeigt, wie man einen OutputStream öffnet und speichert.

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.