--- /dev/null
+package org.simantics.lz4;\r
+\r
+import java.io.UnsupportedEncodingException;\r
+\r
+import net.jpountz.lz4.LZ4Compressor;\r
+import net.jpountz.lz4.LZ4Factory;\r
+import net.jpountz.lz4.LZ4FastDecompressor;\r
+import net.jpountz.lz4.LZ4SafeDecompressor;\r
+\r
+public class Main {\r
+\r
+ public static void main(String[] args) throws UnsupportedEncodingException {\r
+ LZ4Factory factory = LZ4Factory.fastestInstance();\r
+\r
+ byte[] data = "12345345234572".getBytes("UTF-8");\r
+ final int decompressedLength = data.length;\r
+\r
+ // compress data\r
+ LZ4Compressor compressor = factory.fastCompressor();\r
+ int maxCompressedLength = compressor.maxCompressedLength(decompressedLength);\r
+ byte[] compressed = new byte[maxCompressedLength];\r
+ int compressedLength = compressor.compress(data, 0, decompressedLength, compressed, 0, maxCompressedLength);\r
+\r
+ // decompress data\r
+ // - method 1: when the decompressed length is known\r
+ LZ4FastDecompressor decompressor = factory.fastDecompressor();\r
+ byte[] restored = new byte[decompressedLength];\r
+ int compressedLength2 = decompressor.decompress(compressed, 0, restored, 0, decompressedLength);\r
+ System.out.println(compressedLength == compressedLength2);\r
+\r
+ // - method 2: when the compressed length is known (a little slower)\r
+ // the destination buffer needs to be over-sized\r
+ LZ4SafeDecompressor decompressor2 = factory.safeDecompressor();\r
+ int decompressedLength2 = decompressor2.decompress(compressed, 0, compressedLength, restored, 0);\r
+ System.out.println(decompressedLength == decompressedLength2);\r
+ }\r
+\r
+}\r