/** * Compress the buffer * * @param buffer * @return compressed Buffer * @throws IOException */ public static Buffer compress(Buffer buffer) throws IOException { Buffer result = buffer; if (buffer != null) { BufferOutputStream bytesOut = new BufferOutputStream(buffer.length); GZIPOutputStream gzipOut = new GZIPOutputStream(bytesOut, buffer.length); gzipOut.write(buffer.toByteArray()); gzipOut.close(); bytesOut.close(); result = bytesOut.toBuffer(); } return result; }
/** * Compress the buffer * * @param buffer * @return compressed Buffer * @throws IOException */ public static Buffer compress(Buffer buffer) throws IOException { Buffer result = buffer; if (buffer != null) { BufferOutputStream bytesOut = new BufferOutputStream(buffer.length); GZIPOutputStream gzipOut = new GZIPOutputStream(bytesOut, buffer.length); gzipOut.write(buffer.toByteArray()); gzipOut.close(); bytesOut.close(); result = bytesOut.toBuffer(); } return result; }
/** * Inflate a compressed buffer * * @param buffer * @return inflated buffer * @throws IOException */ public static Buffer inflate(Buffer buffer) throws IOException { Buffer result = buffer; if (isCompressed(buffer)) { InputStream bytesIn = new BufferInputStream(buffer); GZIPInputStream gzipIn = new GZIPInputStream(bytesIn); BufferOutputStream bytesOut = new BufferOutputStream(buffer.length); byte[] data = new byte[4096]; int bytesRead = 0; while ((bytesRead = gzipIn.read(data, 0, data.length)) > 0) { bytesOut.write(data, 0, bytesRead); } gzipIn.close(); bytesIn.close(); result = bytesOut.toBuffer(); bytesOut.close(); } return result; }
/** * Inflate a compressed buffer * * @param buffer * @return inflated buffer * @throws IOException */ public static Buffer inflate(Buffer buffer) throws IOException { Buffer result = buffer; if (isCompressed(buffer)) { InputStream bytesIn = new BufferInputStream(buffer); GZIPInputStream gzipIn = new GZIPInputStream(bytesIn); BufferOutputStream bytesOut = new BufferOutputStream(buffer.length); byte[] data = new byte[4096]; int bytesRead = 0; while ((bytesRead = gzipIn.read(data, 0, data.length)) > 0) { bytesOut.write(data, 0, bytesRead); } gzipIn.close(); bytesIn.close(); result = bytesOut.toBuffer(); bytesOut.close(); } return result; }