CompressTool

A tool to losslessly compress data, and expand the compressed data again.

Methods
static CompressTool getInstance()
Get a new instance.
static CompressTool getInstance()
Get a new instance. Each instance uses a separate buffer, so multiple instances can be used concurrently. However each instance alone is not multithreading safe.
Returns:
a new instance
static int getVariableIntLength(int x)
Get a variable size integer length using Rice coding.
static int getVariableIntLength(int x)
Get a variable size integer length using Rice coding. Negative values need 5 bytes.
Parameters:
x - the value
Returns:
the number of bytes needed (0-5)
static int readVariableInt(byte[] buff, int pos)
Read a variable size integer using Rice coding.
static int readVariableInt(byte[] buff, int pos)
Read a variable size integer using Rice coding.
Parameters:
buff - the buffer
pos - the position
Returns:
the integer
static int writeVariableInt(byte[] buff, int pos, int x)
Write a variable size integer using Rice coding.
static int writeVariableInt(byte[] buff, int pos, int x)
Write a variable size integer using Rice coding. Negative values need 5 bytes.
Parameters:
buff - the buffer
pos - the position
x - the value
Returns:
the number of bytes written (0-5)
byte[] compress(byte[] in, String algorithm)
Compressed the data using the specified algorithm.
byte[] compress(byte[] in, String algorithm)
Compressed the data using the specified algorithm. If no algorithm is supplied, LZF is used
Parameters:
in - the byte array with the original data
algorithm - the algorithm (LZF, DEFLATE)
Returns:
the compressed data
byte[] expand(byte[] in)
Expands the compressed data.
byte[] expand(byte[] in)
Expands the compressed data.
Parameters:
in - the byte array with the compressed data
Returns:
the uncompressed data