1 package org.simantics.lz4;
\r
3 import java.io.UnsupportedEncodingException;
\r
5 import net.jpountz.lz4.LZ4Compressor;
\r
6 import net.jpountz.lz4.LZ4Factory;
\r
7 import net.jpountz.lz4.LZ4FastDecompressor;
\r
8 import net.jpountz.lz4.LZ4SafeDecompressor;
\r
12 public static void main(String[] args) throws UnsupportedEncodingException {
\r
13 LZ4Factory factory = LZ4Factory.fastestInstance();
\r
15 byte[] data = "12345345234572".getBytes("UTF-8");
\r
16 final int decompressedLength = data.length;
\r
19 LZ4Compressor compressor = factory.fastCompressor();
\r
20 int maxCompressedLength = compressor.maxCompressedLength(decompressedLength);
\r
21 byte[] compressed = new byte[maxCompressedLength];
\r
22 int compressedLength = compressor.compress(data, 0, decompressedLength, compressed, 0, maxCompressedLength);
\r
25 // - method 1: when the decompressed length is known
\r
26 LZ4FastDecompressor decompressor = factory.fastDecompressor();
\r
27 byte[] restored = new byte[decompressedLength];
\r
28 int compressedLength2 = decompressor.decompress(compressed, 0, restored, 0, decompressedLength);
\r
29 System.out.println(compressedLength == compressedLength2);
\r
31 // - method 2: when the compressed length is known (a little slower)
\r
32 // the destination buffer needs to be over-sized
\r
33 LZ4SafeDecompressor decompressor2 = factory.safeDecompressor();
\r
34 int decompressedLength2 = decompressor2.decompress(compressed, 0, compressedLength, restored, 0);
\r
35 System.out.println(decompressedLength == decompressedLength2);
\r