List of usage examples for java.util.zip Inflater inflate
public int inflate(ByteBuffer output) throws DataFormatException
From source file:org.xdi.zip.CompressionHelper.java
public static byte[] inflate(byte[] data, boolean nowrap) throws IOException, DataFormatException { Inflater inflater = new Inflater(nowrap); inflater.setInput(data);//from ww w . j av a2s . c o m ByteArrayOutputStream os = new ByteArrayOutputStream(data.length); try { byte[] buffer = new byte[1024]; while (!inflater.finished()) { int count = inflater.inflate(buffer); os.write(buffer, 0, count); } } finally { IOUtils.closeQuietly(os); } return os.toByteArray(); }
From source file:org.wso2.identity.integration.test.requestPathAuthenticator.RequestPathAuthenticatorInvalidUserTestCase.java
/** * Decoding and deflating the encoded AuthReq * * @param encodedStr encoded AuthReq/*from w w w. j a va 2s. com*/ * @return decoded AuthReq */ private static String decode(String encodedStr) { try { Base64 base64Decoder = new Base64(); byte[] xmlBytes = encodedStr.getBytes(DEFAULT_CHARSET); byte[] base64DecodedByteArray = base64Decoder.decode(xmlBytes); try { Inflater inflater = new Inflater(true); inflater.setInput(base64DecodedByteArray); byte[] xmlMessageBytes = new byte[5000]; int resultLength = inflater.inflate(xmlMessageBytes); if (!inflater.finished()) { throw new RuntimeException("End of the compressed data stream has NOT been reached"); } inflater.end(); String decodedString = new String(xmlMessageBytes, 0, resultLength, (DEFAULT_CHARSET)); return decodedString; } catch (DataFormatException e) { ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(base64DecodedByteArray); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); InflaterInputStream iis = new InflaterInputStream(byteArrayInputStream); byte[] buf = new byte[1024]; int count = iis.read(buf); while (count != -1) { byteArrayOutputStream.write(buf, 0, count); count = iis.read(buf); } iis.close(); String decodedStr = new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8); return decodedStr; } } catch (IOException e) { Assert.fail("Error while decoding SAML response", e); return ""; } }
From source file:Main.java
public static byte[] decompress(byte[] compressedBuffer) { Inflater inflater = new Inflater(); inflater.setInput(compressedBuffer); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(compressedBuffer.length); try {// w w w .j ava2s . c o m byte[] buffer = new byte[1024]; while (!inflater.finished()) { int count = inflater.inflate(buffer); outputStream.write(buffer, 0, count); } byte[] output = outputStream.toByteArray(); return output; } catch (DataFormatException e) { throw new RuntimeException(e); } finally { try { inflater.end(); outputStream.close(); } catch (IOException e) { throw new RuntimeException(e); } } }
From source file:Main.java
public static byte[] decompress(byte[] data) throws IOException { Inflater inflater = new Inflater(); inflater.setInput(data);//from w w w.ja v a2 s. c om inflater.finished(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(data.length); try { byte[] buffer = new byte[1024]; while (!inflater.finished()) { int count = inflater.inflate(buffer); outputStream.write(buffer, 0, count); } outputStream.close(); } catch (DataFormatException ex) { throw new IOException(ex); } byte[] output = outputStream.toByteArray(); inflater.end(); return output; }
From source file:Main.java
public static byte[] decompress(byte[] data) { byte[] output = new byte[0]; Inflater decompresser = new Inflater(); decompresser.reset();/*from w w w .java 2 s . co m*/ decompresser.setInput(data); ByteArrayOutputStream bos = new ByteArrayOutputStream(2 * data.length); try { byte[] buf = new byte[1024]; while (!decompresser.finished()) { int length = decompresser.inflate(buf); bos.write(buf, 0, length); } output = bos.toByteArray(); bos.close(); } catch (Exception e) { output = data; e.printStackTrace(); } decompresser.end(); return output; }
From source file:Main.java
private static byte[] uncompressBytesInflateDeflate(byte[] inBytes) throws IOException { Inflater inflater = new Inflater(); inflater.setInput(inBytes);/*from w w w . j a v a2s. co m*/ ByteArrayOutputStream bos = new ByteArrayOutputStream(inBytes.length); byte[] buffer = new byte[1024 * 8]; while (!inflater.finished()) { int count; try { count = inflater.inflate(buffer); } catch (DataFormatException e) { throw new IOException(e); } bos.write(buffer, 0, count); } byte[] output = bos.toByteArray(); return output; }
From source file:org.javaweb.utils.IOUtils.java
/** * Inflater //from w w w . ja v a2 s.c o m * * @param data * @return * @throws DataFormatException */ public static byte[] decompressInflater(byte[] data) throws DataFormatException { Inflater inflater = new Inflater(); inflater.setInput(data); ByteArrayOutputStream out = new ByteArrayOutputStream(data.length); byte[] buffer = new byte[2048]; while (!inflater.finished()) { int count = inflater.inflate(buffer); out.write(buffer, 0, count); } return out.toByteArray(); }
From source file:Main.java
/** * <p>Decompresses a the content of a file from {@code startPosition} of {@code compressedSize} * and return the bytes of it. If a {@code compressedSize} can be provided if it is known * how large the decompressed content will be.</p> * * @param file the file//from ww w.j a va 2 s. co m * @param startPosition the start position * @param compressedSize the compresse * @param decompressedSize the decompressed size * @return the decompressed bytes * @throws IOException if there was any io issues * @throws DataFormatException if there was an issue decompressing content */ public static byte[] decompress(File file, int startPosition, int compressedSize, int decompressedSize) throws IOException, DataFormatException { if (decompressedSize == 0) { return decompress(file, startPosition, compressedSize); } try (FileChannel fileChannel = FileChannel.open(file.toPath())) { ByteBuffer buffer = fileChannel.map(FileChannel.MapMode.READ_ONLY, startPosition, compressedSize); Inflater inflater = new Inflater(); byte[] compressedBytes = new byte[compressedSize]; byte[] bytes = new byte[decompressedSize]; buffer.get(compressedBytes); inflater.setInput(compressedBytes, 0, compressedSize); inflater.inflate(bytes); inflater.end(); return bytes; } }
From source file:Main.java
public static byte[] decompress(byte[] data, int off, int len) { byte[] output = null; Inflater decompresser = new Inflater(); decompresser.reset();/* w ww .j a v a2 s .c om*/ decompresser.setInput(data, off, len); ByteArrayOutputStream out = new ByteArrayOutputStream(data.length); try { byte[] result = new byte[1024]; while (!decompresser.finished()) { int i = decompresser.inflate(result); out.write(result, 0, i); } output = out.toByteArray(); } catch (Exception e) { throw new RuntimeException(e); } finally { try { out.close(); } catch (Exception e) { } decompresser.end(); } return output; }
From source file:Main.java
public static InputStream inflate(byte[] deflatedToken, boolean nowrap) throws DataFormatException { Inflater inflater = new Inflater(nowrap); inflater.setInput(deflatedToken);/* w w w . j a v a2 s . c o m*/ byte[] input = new byte[deflatedToken.length * 2]; int inflatedLen = 0; int inputLen = 0; byte[] inflatedToken = input; while (!inflater.finished()) { inputLen = inflater.inflate(input); if (!inflater.finished()) { if (inputLen == 0) { if (inflater.needsInput()) { throw new DataFormatException("Inflater can not inflate all the token bytes"); } else { break; } } inflatedToken = new byte[input.length + inflatedLen]; System.arraycopy(input, 0, inflatedToken, inflatedLen, inputLen); inflatedLen += inputLen; } } InputStream is = new ByteArrayInputStream(input, 0, inputLen); if (inflatedToken != input) { is = new SequenceInputStream(new ByteArrayInputStream(inflatedToken, 0, inflatedLen), is); } return is; }