Effektiv und einfach: Datenströme in Java komprimieren

Die Bibliothek zur Verarbeitung des ZIP-Datenformats hat wesentlich mehr zu bieten als die für GZIP. Es ist möglich, auf einfache Weise eine beliebige Anzahl von Dateien zu komprimieren, und es gibt sogar eine spezielle Klasse zum Lesen von ZIP-Dateien. Java verwendet das standardmäßige ZIP-Format, so dass jedes Komprimierungs- oder Archivierungs-Utility in der Lage ist, die komprimierten Daten zu lesen. Listing B hat dieselbe Struktur wie Listing A, aber die Anzahl der Dateien ist nicht beschränkt.

Listing B

Zu beachten ist die Verwendung der Klassen CheckedOutputStream und CRC32.So kann auf einfache Weise eine Prüfsumme der Daten berechnet und so deren Integrität kontrolliert werden. Die Prüfsumme wird verwendet, um zu kontrollieren, dass die Daten nicht verändert oder beschädigt wurden. CRC32 ist ein sehr populärer 32-Bit-Algorithmus zur Überprüfung der Datenintegrität.

Für jede Datei, die dem Archiv hinzugefügt wird, muss die Methode putNextEntry() mit dem entsprechenden ZipEntry-Objekt aufgerufen werden. ZipEntry enthält alles, was man zum Speichern von zusätzlichen Informationen in einer ZIP-Datei benötigt, also Dateiname, komprimierte und dekomprimierte Dateigröße, CRC-Prüfsumme, Kommentare, Komprimierungsverfahren und so weiter. Java gestattet keinen Passwortschutz für ZIP-Archive, obwohl diese Möglichkeit im ursprünglichen ZIP-Dateiformat vorgesehen ist.

Anwendung

Mit GZIP und ZIP können beliebige Datenströme in Java komprimiert und dekomprimiert werden, was bei einer Datei nicht notwendigerweise der Fall sein muss. Datenkomprimierung wird zum Beispiel von vielen Servlet-Anwendungen und Anwendungsservern (Servlet Container) häufig bei Servlet-Outputstreams eingesetzt, weil GZIP-komprimierte Daten auch ein Internet-Standard für die Übertragung von Daten mit dem HTTP-Protokoll sind.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

1 Woche ago

Chatbot-Dienst checkt Nachrichteninhalte aus WhatsApp-Quellen

Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…

1 Woche ago

Microsoft stellt kleines KI-Modell Phi-3 Mini vor

Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…

1 Woche ago

Google schließt kritische Sicherheitslücke in Chrome

Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.

1 Woche ago

Microsoft beseitigt Fehler im März-Sicherheitsupdate für Exchange Server

Probleme treten vor allem bei Nutzern von Outlook Web Access auf. Das optionale Hotfix-Update für…

1 Woche ago

Neue iPads: Apple kündigt Event für 7. Mai an

Die Einladung zeigt einen zeichnenden Apple Pencil. Der wiederum deutet auf neue iPads hin. Es…

1 Woche ago