Skip to content

Instantly share code, notes, and snippets.

@navopw
Last active May 9, 2017 14:21
Show Gist options
  • Save navopw/ccd89080a9dd1966788116bb42a07366 to your computer and use it in GitHub Desktop.
Save navopw/ccd89080a9dd1966788116bb42a07366 to your computer and use it in GitHub Desktop.
GzipCompressionTest
package pw.navo.compression;
import java.io.IOException;
public class GzipCompressionTest {
public static void main(String[] args) {
/**
* Für dieses Beispiel nehme ich einen String, da diese sich viel einfacher visualisieren lassen
*
* Dies ist unser String, den wir mittels Gzip komprimieren wollen
*/
String exampleString = "AAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC";
System.out.println("Noch nicht komprimierter String: " + exampleString);
System.out.println("Unkomprimierte Länge: " + exampleString.getBytes().length);
/**
* Da unsere compress Funktion in der GzipCompression Klasse nur Byte Arrays nimmt, konvertieren wir den String zum Byte Array
*/
byte[] dataByteArray = exampleString.getBytes();
try {
/**
* Nun geben wir der compress Funktion in der GzipCompression Klasse unseren ByteArray mit
*
* Zurück bekommen wir den mit Gzip komprimierten ByteArray, den wir zum Test einfach mal ausgeben
* Natürlich kommt hier kein für Menschen lesbarer Text raus, sondern einfach nur kryptische Zeichen
*/
byte[] compressedByteArray = GzipCompression.compress(dataByteArray);
String compressedString = new String(compressedByteArray);
System.out.println("Komprimierter String: " + compressedString);
System.out.println("Komprimierte Länge: " + compressedByteArray.length);
/**
* Jetzt wollen wir zu demonstrationszwecken unsere komprimierten Daten wieder dekomprimieren (deflate Funktion)
*/
byte[] deflatedByteArray = GzipCompression.deflate(compressedByteArray);
String deflatedString = new String(deflatedByteArray);
/**
* Wenn alles gut gelaufen ist, müsste der exampleString am Anfang dem deflatedString entsprechen.
*/
System.out.println("Dekomprimierter String: " + deflatedString);
} catch (IOException exception) {
//Es ist was schiefgelaufen und wir geben den Fehler aus
exception.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment