| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package com.yiidata.proxyserver.common.serializer;
- import org.apache.commons.compress.compressors.CompressorException;
- import org.apache.commons.compress.compressors.CompressorInputStream;
- import org.apache.commons.compress.compressors.CompressorOutputStream;
- import org.apache.commons.compress.compressors.CompressorStreamFactory;
- import org.apache.commons.io.IOUtils;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- /**
- * <pre>
- * Created with IntelliJ IDEA.
- * User: zhzhenqin
- * Date: 2015/2/27
- * Time: 10:48
- * </pre>
- *
- * @author zhzhenqin
- */
- public class ZipSerializer extends CompressSerializer {
- public ZipSerializer() {
- }
- @Override
- public byte[] compress(byte[] bytes) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try {
- CompressorOutputStream outputStream = new CompressorStreamFactory().createCompressorOutputStream(
- CompressorStreamFactory.BZIP2, out);
- IOUtils.copy(new ByteArrayInputStream(bytes), outputStream);
- outputStream.close();
- return out.toByteArray();
- } catch (IOException e) {
- throw new IllegalStateException(e);
- } catch (CompressorException e) {
- throw new IllegalStateException(e);
- }
- }
- @Override
- public byte[] uncompress(byte[] bytes) {
- CompressorInputStream inputStream = null;
- try {
- inputStream = new CompressorStreamFactory().createCompressorInputStream(
- CompressorStreamFactory.BZIP2, new ByteArrayInputStream(bytes));
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- IOUtils.copy(inputStream, out);
- inputStream.close();
- return out.toByteArray();
- } catch (IOException e) {
- throw new IllegalStateException(e);
- } catch (CompressorException e) {
- throw new IllegalStateException(e);
- }
- }
- }
|