在我的Java代码中,我有java.nio.ByteBuffer
类型的数据。我必须快速压缩这个。通过导入Snappy.compress()
使用org.xerial.snappy.Snappy;
会引发错误。
Snappy.compress(DataUtility.parseValue(record.valueSchema(), record.value())))
我需要在压缩之前将其转换为其他类型,还是必须使用不同的压缩方法?
谢谢!
答案 0 :(得分:1)
无法解析方法'compress(java.nio.ByteBuffer)'
那是因为没有方法接受ByteBuffer
输入并返回byte[]
。
您的选择:
int compress(java.nio.ByteBuffer uncompressed, java.nio.ByteBufferc ompressed)
,提供ByteBuffer
输入数据,另一个提供压缩数据,或byte[]
,然后将其用作compress(byte[])
的输入:
byte[] inputBytes = new byte[inputBBuffer.remaining()];
inputBBuffer.get(inputBytes);
byte[] output = compress(inputBytes);