本文整理匯總了Java中net.jpountz.lz4.LZ4Factory類的典型用法代碼示例。如果您正苦於以下問題:Java LZ4Factory類的具體用法?Java LZ4Factory怎麽用?Java LZ4Factory使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
LZ4Factory類屬於net.jpountz.lz4包,在下文中一共展示了LZ4Factory類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: LZ4Compressor
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
private LZ4Compressor(String type, Integer compressionLevel)
{
this.compressorType = type;
this.compressionLevel = compressionLevel;
final LZ4Factory lz4Factory = LZ4Factory.fastestInstance();
switch (type)
{
case LZ4_HIGH_COMPRESSOR:
{
compressor = lz4Factory.highCompressor(compressionLevel);
break;
}
case LZ4_FAST_COMPRESSOR:
default:
{
compressor = lz4Factory.fastCompressor();
}
}
decompressor = lz4Factory.fastDecompressor();
}
示例2: uncompress
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
@Override
public byte[] uncompress(byte[] data) throws IOException {
LZ4Factory factory = LZ4Factory.fastestInstance();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
LZ4FastDecompressor decompresser = factory.fastDecompressor();
LZ4BlockInputStream lzis = new LZ4BlockInputStream(new ByteArrayInputStream(data), decompresser);
int count;
byte[] buffer = new byte[2048];
while ((count = lzis.read(buffer)) != -1) {
baos.write(buffer, 0, count);
}
lzis.close();
return baos.toByteArray();
}
示例3: readFieldsC
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
public void readFieldsC(DataInput in) throws IOException {
int decompressedLength = in.readInt();
int compressedLength = in.readInt();
byte[] compressed = new byte[compressedLength];
in.readFully(compressed, 0, compressedLength);
LZ4Factory factory = LZ4Factory.fastestInstance();
LZ4FastDecompressor decompressor = factory.fastDecompressor();
byte[] uncompressedByteArray = new byte[decompressedLength];
decompressor.decompress(compressed, 0, uncompressedByteArray, 0, decompressedLength);
//byte[] uncompressedByteArray = WritableUtils.readCompressedByteArray(in);
UnsafeByteArrayInputStream inStream = new UnsafeByteArrayInputStream(uncompressedByteArray);
size = inStream.readInt();
tables = new HashMap<String, Table>();
for (int i = 0; i < size; i++)
{
String tableName = inStream.readUTF();
Table table = new Table(null, null);
table.readFields(inStream);
tables.put(tableName, table);
}
}
示例4: writeC
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
public void writeC(DataOutput out) throws IOException {
UnsafeByteArrayOutputStream outStream = new UnsafeByteArrayOutputStream();
outStream.writeInt(tables.entrySet().size());
for (Map.Entry<String, Table> entry : tables.entrySet())
{
String tableName = entry.getKey();
Table table = entry.getValue();
outStream.writeUTF(tableName);
table.write(outStream);
}
outStream.flush();
//WritableUtils.writeCompressedByteArray(out, outStream.toByteArray());
LZ4Factory factory = LZ4Factory.fastestInstance();
LZ4Compressor compressor = factory.fastCompressor();
byte[] outStreamByteArray = outStream.toByteArray();
int decompressedLength = outStreamByteArray.length;
int maxCompressedLength = compressor.maxCompressedLength(decompressedLength);
byte[] compressed = new byte[maxCompressedLength];
int compressedLength = compressor.compress(outStreamByteArray, 0, decompressedLength, compressed, 0, maxCompressedLength);
out.writeInt(decompressedLength);
out.writeInt(compressedLength);
out.write(compressed, 0, compressedLength);
outStream.close();
}
示例5: onDeserialize
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
@Override
protected void onDeserialize(Deserializer buf) {
super.onDeserialize(buf);
int length = buf.getInt(null);
int compressedLength = buf.getInt(null);
Preconditions.checkState(length == data.length,
"Size of serialized sketch does not match expected value. Expected %s, actual %s.", data.length, length);
if (length == compressedLength) {
deserializeDataArray(data, length, buf);
} else {
LZ4FastDecompressor c = LZ4Factory.safeInstance().fastDecompressor();
byte[] compressedData = buf.getBytes(null, compressedLength);
c.decompress(compressedData, data);
}
}
示例6: print
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
private void print(Request request) {
Values ret = request.returnValues();
CompressionType type = CompressionType.valueOf(ret.get(0).asInt8());
int uncompressedSize = ret.get(1).asInt32();
byte [] blob = ret.get(2).asData();
if (type == CompressionType.LZ4) {
LZ4Factory factory = LZ4Factory.fastestInstance();
LZ4FastDecompressor decompressor = factory.fastDecompressor();
byte [] uncompressed = new byte [uncompressedSize];
int compressedLength = decompressor.decompress(blob, 0, uncompressed, 0, uncompressedSize);
if (compressedLength != blob.length) {
throw new DeserializationException("LZ4 decompression failed. compressed size does not match. Expected " + blob.length + ". Got " + compressedLength);
}
blob = uncompressed;
}
Slime slime = BinaryFormat.decode(blob);
try {
new JsonFormat(true).encode(System.out, slime);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
示例7: unlz4
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
/**
* lz4 解壓縮
*
* @param value
* @return
*/
public static byte[] unlz4(byte[] value) {
byte[] result = new byte[0];
try {
LZ4Factory factory = LZ4Factory.fastestInstance();
LZ4FastDecompressor decompressor = factory.fastDecompressor();
//
final int INTEGER_BYTES = 4;
// 取原始長度
int uncompressedLength = ((value[0] & 0xFF) << 24) | ((value[1] & 0xFF) << 16) | ((value[2] & 0xFF) << 8)
| ((value[3] & 0xFF));
result = new byte[uncompressedLength];
int read = decompressor.decompress(value, INTEGER_BYTES, result, 0, uncompressedLength);
if (read != (value.length - INTEGER_BYTES)) {
result = new byte[0];
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
示例8: lz4
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
/**
* lz4 壓縮
*
* @param value
* @return
*/
public static byte[] lz4(byte[] value) {
byte[] result = new byte[0];
try {
LZ4Factory factory = LZ4Factory.fastestInstance();
LZ4Compressor compressor = factory.fastCompressor();
//
final int INTEGER_BYTES = 4;
int length = value.length;
int maxCompressedLength = compressor.maxCompressedLength(length);
byte[] buff = new byte[INTEGER_BYTES + maxCompressedLength];
// 用4個byte紀錄原始長度
buff[0] = (byte) (length >>> 24);
buff[1] = (byte) (length >>> 16);
buff[2] = (byte) (length >>> 8);
buff[3] = (byte) (length);
// 壓縮後長度
int written = compressor.compress(value, 0, length, buff, INTEGER_BYTES, maxCompressedLength);
// 新長度=4+壓縮後長度
int newLength = INTEGER_BYTES + written;
result = new byte[newLength];
System.arraycopy(buff, 0, result, 0, newLength);
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
示例9: LZ4CompressionCodec
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
LZ4CompressionCodec(@Nonnegative final int bodyLength) {
if (bodyLength < 1 || bodyLength > MAX_BODY_LENGTH) {
throw new IllegalArgumentException("bodyLength < 1 || bodyLength > 0xFEEC: " + bodyLength);
}
final LZ4Factory factory = LZ4Factory.fastestInstance();
this.compressor = factory.fastCompressor();
this.decompressor = factory.fastDecompressor();
this.bodyLength = bodyLength;
this.headerLength = HEADER_LENGTH;
this.compressedLength = compressor.maxCompressedLength(bodyLength);
this.footerLength = FOOTER_LENGTH;
this.frameLength = headerLength + compressedLength + footerLength;
this.compressInput = new byte[this.bodyLength];
this.compressOutput = new byte[compressedLength];
this.decompressInput = new byte[compressedLength];
this.decompressOutput = new byte[this.bodyLength];
}
示例10: CompressedImage
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
public CompressedImage(BufferedImage img, CompressedType type) {
this.width = img.getWidth();
this.height = img.getHeight();
this.type = type;
switch (type) {
case PNG:
this.data = ImageUtils.toPNG(img);
this.uncompressedLength = -1;
break;
case LZ4:
byte[] uncompressed = getUncompressedBytes(img);
this.uncompressedLength = uncompressed.length;
this.data = LZ4Factory.unsafeInstance().fastCompressor().compress(uncompressed);
break;
default:
throw new IllegalArgumentException();
}
}
示例11: get
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
public Image get() {
switch (type) {
case PNG:
return ImageUtils.fromPNG(data);
case LZ4:
LZ4FastDecompressor lz4Decompressor = LZ4Factory.unsafeInstance().fastDecompressor();
byte[] uncompressed = new byte[uncompressedLength];
lz4Decompressor.decompress(data, uncompressed);
return uncompressImage(width, height, uncompressed);
// byte[]decompressed = lz4Decompressor.d
// case LZ4:
// return LZ4Factory.unsafeInstance().fastCompressor().compress(getUncompressedBytes(img));
//
default:
throw new IllegalArgumentException();
}
}
示例12: compress
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
@Override
public byte[] compress(byte[] data) throws IOException {
LZ4Factory factory = LZ4Factory.fastestInstance();
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
LZ4Compressor compressor = factory.fastCompressor();
LZ4BlockOutputStream compressedOutput = new LZ4BlockOutputStream(byteOutput, 2048, compressor);
compressedOutput.write(data);
compressedOutput.close();
return byteOutput.toByteArray();
}
示例13: KafkaLZ4BlockOutputStream
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
/**
* Create a new {@link OutputStream} that will compress data using the LZ4 algorithm.
*
* @param out The output stream to compress
* @param blockSize Default: 4. The block size used during compression. 4=64kb, 5=256kb, 6=1mb, 7=4mb. All other
* values will generate an exception
* @param blockChecksum Default: false. When true, a XXHash32 checksum is computed and appended to the stream for
* every block of data
* @param useBrokenFlagDescriptorChecksum Default: false. When true, writes an incorrect FrameDescriptor checksum
* compatible with older kafka clients.
* @throws IOException
*/
public KafkaLZ4BlockOutputStream(OutputStream out, int blockSize, boolean blockChecksum, boolean useBrokenFlagDescriptorChecksum) throws IOException {
super(out);
compressor = LZ4Factory.fastestInstance().fastCompressor();
checksum = XXHashFactory.fastestInstance().hash32();
this.useBrokenFlagDescriptorChecksum = useBrokenFlagDescriptorChecksum;
bd = new BD(blockSize);
flg = new FLG(blockChecksum);
bufferOffset = 0;
maxBlockSize = bd.getBlockMaximumSize();
buffer = new byte[maxBlockSize];
compressedBuffer = new byte[compressor.maxCompressedLength(maxBlockSize)];
finished = false;
writeHeader();
}
示例14: compress
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
public static byte[] compress(byte srcBytes[]) throws IOException {
LZ4Factory factory = LZ4Factory.fastestInstance();
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
LZ4Compressor compressor = factory.fastCompressor();
LZ4BlockOutputStream compressedOutput = new LZ4BlockOutputStream(
byteOutput, 2048, compressor);
compressedOutput.write(srcBytes);
compressedOutput.close();
return byteOutput.toByteArray();
}
示例15: uncompress
import net.jpountz.lz4.LZ4Factory; //導入依賴的package包/類
public static byte[] uncompress(byte[] bytes) throws IOException {
LZ4Factory factory = LZ4Factory.fastestInstance();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
LZ4FastDecompressor decompresser = factory.fastDecompressor();
LZ4BlockInputStream lzis = new LZ4BlockInputStream(
new ByteArrayInputStream(bytes), decompresser);
int count;
byte[] buffer = new byte[2048 * 256];
while ((count = lzis.read(buffer)) != -1) {
baos.write(buffer, 0, count);
}
lzis.close();
return baos.toByteArray();
}