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

2019年4月30日07:42:00 2 127

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);
	}

}

3.总结

Java 解压缩字节(byte)数组具体步骤参见示例代码,因为没有压缩后的字节数组,所以暂且没有结果图。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar 匿名 3

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

        • avatar 李逍遥 1

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