javaprogger1987
Erfahrenes Mitglied
Wollte für ein Projekt, wo ich lange ähnliche Strings habe diese mit zip komprimieren.. Bin erst auf die Idee gekommen, als ich die Klasse Deflater endeckt habe.. Aber irgendwie läuft das Beispiel von Sun nich...
compressedDataLength wird immer gleich 0 und in der Doku steht dann dass ich noch zusätzlich Daten in den Buffer schreiben soll.. Muss das eine bestimmte Anzahl an Bytes sein?
compressedDataLength wird immer gleich 0 und in der Doku steht dann dass ich noch zusätzlich Daten in den Buffer schreiben soll.. Muss das eine bestimmte Anzahl an Bytes sein?
Code:
// Encode a String into bytes
String inputString = "blahblahblah";
byte[] input = inputString.getBytes("UTF-8");
// Compress the bytes
byte[] output = new byte[100];
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
int compressedDataLength = compresser.deflate(output);
// Decompress the bytes
Inflater decompresser = new Inflater();
decompresser.setInput(output, 0, compressedDataLength);
byte[] result = new byte[100];
int resultLength = decompresser.inflate(result);
decompresser.end();
// Decode the bytes into a String
String outputString = new String(result, 0, resultLength, "UTF-8");