java deflate,java.util.zip.Deflater.deflate(byte[] b, int off, int len)方法示例

java.util.zip.Deflater.deflate(byte[] b, int off, int len)方法压缩输入数据并用压缩数据填充指定的缓冲区。 返回压缩数据的实际字节数。 返回值为0表示需要调用needsInput以确定是否需要更多输入数据。

声明

以下是java.util.zip.Deflater.deflate(byte[] b, int off, int len)方法的声明。

public int deflate(byte[] b, int off, int len)

参数

b – 压缩数据的缓冲区。

off – 数据的起始偏移量。

len – 压缩数据的最大字节数。

返回值

写入输出缓冲区的压缩数据的实际字节数。

示例

以下示例显示了java.util.zip.Deflater.deflate(byte[] b, int off, int len)方法的用法。

package com.yiibai; import java.io.UnsupportedEncodingException; import java.util.zip.DataFormatException; import java.util.zip.Deflater; import java.util.zip.Inflater; public class DeflaterDemo { public static void main(String[] args) throws DataFormatException, UnsupportedEncodingException { String message = "Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;" +"Welcome to YiibaiPoint.com;"; System.out.println("Original Message length : " + message.length()); byte[] input = message.getBytes("UTF-8"); // Compress the bytes byte[] output = new byte[1024]; Deflater deflater = new Deflater(); deflater.setInput(input); deflater.finish(); int compressedDataLength = deflater.deflate(output,0,output.length); deflater.end(); System.out.println("Compressed Message length : " + compressedDataLength); // Decompress the bytes Inflater inflater = new Inflater(); inflater.setInput(output, 0, compressedDataLength); byte[] result = new byte[1024]; int resultLength = inflater.inflate(result); inflater.end(); // Decode the bytes into a String message = new String(result, 0, resultLength, "UTF-8"); System.out.println("UnCompressed Message length : " + message.length()); } }

执行上面示例代码,得到以下结果 –

Original Message length : 300 Compressed Message length : 42 UnCompressed Message length : 300

¥ 我要打赏   纠错/补充 收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值