Package org.brotli.dec
Class BrotliInputStream
java.lang.Object
java.io.InputStream
org.brotli.dec.BrotliInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable
InputStream decorator that decompresses brotli data.
Not thread-safe.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate byte[]Internal buffer used for efficient byte-by-byte reading.private intNext unused byte offset.static final intprivate static final intValue expected by InputStream contract when stream is over.private intNumber of decoded but still unused bytes in internal buffer.private final StateDecoder state. -
Constructor Summary
ConstructorsConstructorDescriptionBrotliInputStream(InputStream source) Creates aInputStreamwrapper that decompresses brotli data.BrotliInputStream(InputStream source, int byteReadBufferSize) Creates aInputStreamwrapper that decompresses brotli data. -
Method Summary
Modifier and TypeMethodDescriptionvoidattachDictionaryChunk(byte[] data) voidclose()voidvoidintread()intread(byte[] destBuffer, int destOffset, int destLen) Methods inherited from class java.io.InputStream
available, mark, markSupported, read, reset, skip
-
Field Details
-
DEFAULT_INTERNAL_BUFFER_SIZE
public static final int DEFAULT_INTERNAL_BUFFER_SIZE- See Also:
-
END_OF_STREAM_MARKER
private static final int END_OF_STREAM_MARKERValue expected by InputStream contract when stream is over. In Java it is -1. In C# it is 0 (should be patched during transpilation).- See Also:
-
buffer
private byte[] bufferInternal buffer used for efficient byte-by-byte reading. -
remainingBufferBytes
private int remainingBufferBytesNumber of decoded but still unused bytes in internal buffer. -
bufferOffset
private int bufferOffsetNext unused byte offset. -
state
Decoder state.
-
-
Constructor Details
-
BrotliInputStream
Creates aInputStreamwrapper that decompresses brotli data.For byte-by-byte reading (
read()) internal buffer withDEFAULT_INTERNAL_BUFFER_SIZEsize is allocated and used.Will block the thread until first
BitReader.CAPACITYbytes of data of source are available.- Parameters:
source- underlying data source- Throws:
IOException- in case of corrupted data or source stream problems
-
BrotliInputStream
Creates aInputStreamwrapper 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
BitReader.CAPACITYbytes of data of source are available.- Parameters:
source- compressed data sourcebyteReadBufferSize- size of internal buffer used in case of byte-by-byte reading- Throws:
IOException- in case of corrupted data or source stream problems
-
-
Method Details
-
attachDictionaryChunk
public void attachDictionaryChunk(byte[] data) -
enableEagerOutput
public void enableEagerOutput() -
enableLargeWindow
public void enableLargeWindow() -
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-
read
- Overrides:
readin classInputStream- Throws:
IOException
-