Package com.itextpdf.io.codec.brotli.dec
Class BrotliInputStream
- java.lang.Object
-
- java.io.InputStream
-
- com.itextpdf.io.codec.brotli.dec.BrotliInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class BrotliInputStream extends java.io.InputStream
InputStream
decorator that decompresses brotli data.Not thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
buffer
Internal buffer used for efficient byte-by-byte reading.private int
bufferOffset
Next unused byte offset.static int
DEFAULT_INTERNAL_BUFFER_SIZE
private int
remainingBufferBytes
Number of decoded but still unused bytes in internal buffer.private State
state
Decoder state.
-
Constructor Summary
Constructors Constructor Description BrotliInputStream(java.io.InputStream source)
Creates aInputStream
wrapper that decompresses brotli data.BrotliInputStream(java.io.InputStream source, int byteReadBufferSize)
Creates aInputStream
wrapper that decompresses brotli data.BrotliInputStream(java.io.InputStream source, int byteReadBufferSize, byte[] customDictionary)
Creates aInputStream
wrapper that decompresses brotli data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
int
read()
int
read(byte[] destBuffer, int destOffset, int destLen)
-
-
-
Field Detail
-
DEFAULT_INTERNAL_BUFFER_SIZE
public static final int DEFAULT_INTERNAL_BUFFER_SIZE
- See Also:
- Constant Field Values
-
buffer
private byte[] buffer
Internal buffer used for efficient byte-by-byte reading.
-
remainingBufferBytes
private int remainingBufferBytes
Number of decoded but still unused bytes in internal buffer.
-
bufferOffset
private int bufferOffset
Next unused byte offset.
-
state
private final State state
Decoder state.
-
-
Constructor Detail
-
BrotliInputStream
public BrotliInputStream(java.io.InputStream source) throws java.io.IOException
Creates aInputStream
wrapper that decompresses brotli data.For byte-by-byte reading (
read()
) internal buffer withDEFAULT_INTERNAL_BUFFER_SIZE
size is allocated and used.Will block the thread until first kilobyte of data of source is available.
- Parameters:
source
- underlying data source- Throws:
java.io.IOException
- in case of corrupted data or source stream problems
-
BrotliInputStream
public BrotliInputStream(java.io.InputStream source, int byteReadBufferSize) throws java.io.IOException
Creates aInputStream
wrapper that decompresses brotli data.For byte-by-byte reading (
read()
) internal buffer of specified size is allocated and used.Will block the thread until first kilobyte of data of source is available.
- Parameters:
source
- compressed data sourcebyteReadBufferSize
- size of internal buffer used in case of byte-by-byte reading- Throws:
java.io.IOException
- in case of corrupted data or source stream problems
-
BrotliInputStream
public BrotliInputStream(java.io.InputStream source, int byteReadBufferSize, byte[] customDictionary) throws java.io.IOException
Creates aInputStream
wrapper that decompresses brotli data.For byte-by-byte reading (
read()
) internal buffer of specified size is allocated and used.Will block the thread until first kilobyte of data of source is available.
- Parameters:
source
- compressed data sourcebyteReadBufferSize
- size of internal buffer used in case of byte-by-byte readingcustomDictionary
- custom dictionary data;null
if not used- Throws:
java.io.IOException
- in case of corrupted data or source stream problems
-
-
Method Detail
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] destBuffer, int destOffset, int destLen) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
-