Я использую LZ4 для сжатия и распаковки string.I попытались следующим образомдекомпрессию с использованием LZ4
public class CompressionDemo {
public static byte[] compressLZ4(LZ4Factory factory, String data) throws IOException {
final int decompressedLength = data.getBytes().length;
LZ4Compressor compressor = factory.fastCompressor();
int maxCompressedLength = compressor.maxCompressedLength(decompressedLength);
byte[] compressed = new byte[maxCompressedLength];
compressor.compress(data.getBytes(), 0, decompressedLength, compressed, 0, maxCompressedLength);
return compressed;
}
public static String deCompressLZ4(LZ4Factory factory, byte[] data) throws IOException {
LZ4FastDecompressor decompressor = factory.fastDecompressor();
byte[] restored = new byte[data.length];
decompressor.decompress(data,0,restored, 0,data.length);
return new String(restored);
}
public static void main(String[] args) throws IOException, DataFormatException {
String string = "kjshfhshfashfhsakjfhksjafhkjsafhkjashfkjhfjkfhhjdshfhhjdfhdsjkfhdshfdskjfhksjdfhskjdhfkjsdhfk";
LZ4Factory factory = LZ4Factory.fastestInstance();
byte[] arr = compressLZ4(factory, string);
System.out.println(arr.length);
System.out.println(deCompressLZ4(factory, arr) + "decom");
}
}
он дает следующее excpetion
Исключение в потоке «основной» чистый .jpountz.lz4.LZ4Exception: декодирование ошибок смещения 92 входного буфера
проблема здесь состоит в том, что распаковке работает только тогда, когда я передать фактический Строка байт [] длина IE
public static String deCompressLZ4(LZ4Factory factory, byte[] data) throws IOException {
LZ4FastDecompressor decompressor = factory.fastDecompressor();
byte[] restored = new byte[data.length];
decompressor.decompress(data,0,restored, 0,"kjshfhshfashfhsakjfhksjafhkjsafhkjashfkjhfjkfhhjdshfhhjdfhdsjkfhdshfdskjfhksjdfhskjdhfkjsdhfk".getBytes().length);
return new String(restored);
}
Ожидается фактический размер байт []. Может кто-то помочь мне с этим
@ pppavan- Вы когда-нибудь находили решение своей проблемы? – kit
да я решил это @kit – pppavan
Отлично. @pppavan Можете ли вы дать мне предложение по моей проблеме - https://stackoverflow.com/questions/45398848/how-to-decompress-lzo-byte-array-using-java-lzo-library или, пожалуйста, дайте мне пример для примера декомпрессии массива. – kit