]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.lz4/src/org/simantics/lz4/Main.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.lz4 / src / org / simantics / lz4 / Main.java
1 package org.simantics.lz4;\r
2 \r
3 import java.io.UnsupportedEncodingException;\r
4 \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
9 \r
10 public class Main {\r
11 \r
12         public static void main(String[] args) throws UnsupportedEncodingException {\r
13                 LZ4Factory factory = LZ4Factory.fastestInstance();\r
14 \r
15                 byte[] data = "12345345234572".getBytes("UTF-8");\r
16                 final int decompressedLength = data.length;\r
17 \r
18                 // compress data\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
23 \r
24                 // decompress data\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
30 \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
36         }\r
37 \r
38 }\r