Java 怎么解压缩字节(byte)数组

2019年4月30日07:42:00 2 1,491 823字阅读2分44秒

1.简介

Java 怎么解压缩字节(byte)数组?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */
public class DecompressByteArray {
	public static void main(String[] argv) throws Exception {
		byte[] compressedData = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
		System.out.println(Arrays.toString(decompress(compressedData)));
	}

	private static byte[] decompress(byte[] compressedData, int len) throws IOException, DataFormatException {
		Inflater decompressor = new Inflater();
		decompressor.setInput(compressedData, 0, len);

		ByteArrayOutputStream bos = new ByteArrayOutputStream(
				compressedData.length);

		byte[] buf = new byte[1024];
		while (!decompressor.finished()) {
			int count = decompressor.inflate(buf);
			bos.write(buf, 0, count);
		}
		bos.close();
		return bos.toByteArray();
	}

	private static byte[] decompress(byte[] compressedData) throws IOException, DataFormatException {
		return decompress(compressedData, compressedData.length);
	}

}
继续阅读
编程十万个怎么办

评论已关闭!

评论:2   其中:访客  0   博主  0
    • 匿名 匿名 3

      报incorrect head check 的错,我的场景是拿到压缩的16进制的字符串,要对它进行解压缩 应该怎么做,谢谢

      • 李逍遥 李逍遥 2

        回复 匿名 字符串转为 byte 数组,再试下。