Mam kilka ciągów, które mają około 10K znaków każdy. Jest w nich mnóstwo powtórzeń. Są serializowane obiekty JSON. Chciałbym łatwo skompresować je do tablicy bajtów i rozpakować je z tablicy bajtów.Jak mogę łatwo kompresować i dekompresować ciągi do/z tablic bajtowych?
Jak mogę najłatwiej to zrobić? Szukam sposobów, aby można było wykonać następujące czynności:
String original = "....long string here with 10K characters...";
byte[] compressed = StringCompressor.compress(original);
String decompressed = StringCompressor.decompress(compressed);
assert(original.equals(decompressed);
Użyłbym InflatorInputStream/DeflatorOutputStream z ByteArrayInput/OutputStream. –
Istnieje łatwa w użyciu klasa "zip" ... edit - tutaj http://docs.oracle.com/javase/6/docs/api/java/util/zip/package-summary. html i wydaje się używać wymienionych klas @peter. –
Co powiesz na to? http://stackoverflow.com/questions/3649485/how-to-compress-a-string –