数据压缩及解压

数据压缩及解压

*需求:有些需求中需要将数据进行压缩传输及解压使用

1、看下压缩的代码段如下:
   /**
	 * 数据压缩传输
	 */
	public static byte[] compress(byte[] bytes) throws IOException {
		ByteArrayOutputStream out = null;
		GZIPOutputStream gos = null;
		try {
			out = new ByteArrayOutputStream();
			gos = new GZIPOutputStream(out);
			gos.write(bytes);
			gos.finish();
			gos.flush();
		} finally{
			if(gos != null){
				gos.close();
			}
			if(out != null){
				out.close();
			}
		}
		return out.toByteArray();
	}
2、解压代码段
public static byte[] decompress(byte[] bytes) throws IOException {
		ByteArrayInputStream in = new ByteArrayInputStream(bytes);
		GZIPInputStream gin = new GZIPInputStream(in);
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		int count;
		byte data[] = new byte[1024];
		while ((count = gin.read(data, 0, 1024)) != -1) {
			out.write(data, 0, count);
		}
		out.flush();
		out.close();
		gin.close();
		return out.toByteArray();
	}

用到的包有:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

以上仅供参考使用

你可能感兴趣的:(分享小知识点)