public class BitInputStream
extends java.lang.Object
implements java.io.Closeable
Constructor and Description |
---|
BitInputStream(java.io.InputStream in,
java.nio.ByteOrder byteOrder)
Constructor taking an InputStream and its bit arrangement.
|
Modifier and Type | Method and Description |
---|---|
void |
alignWithByteBoundary()
Drops bits until the next bits will be read from a byte boundary.
|
long |
bitsAvailable()
Returns an estimate of the number of bits that can be read from
this input stream without blocking by the next invocation of a
method for this input stream.
|
int |
bitsCached()
Returns the number of bits that can be read from this input
stream without reading from the underlying input stream at all.
|
void |
clearBitCache()
Clears the cache of bits that have been read from the
underlying stream but not yet provided via
readBits(int) . |
void |
close() |
long |
getBytesRead()
Returns the number of bytes read from the underlying stream.
|
long |
readBits(int count)
Returns at most 63 bits read from the underlying stream.
|
public BitInputStream(java.io.InputStream in, java.nio.ByteOrder byteOrder)
in
- the InputStreambyteOrder
- the bit arrangement across byte boundaries,
either BIG_ENDIAN (aaaaabbb bb000000) or LITTLE_ENDIAN (bbbaaaaa 000000bb)public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
java.io.IOException
public void clearBitCache()
readBits(int)
.public long readBits(int count) throws java.io.IOException
count
- the number of bits to read, must be a positive
number not bigger than 63.java.io.IOException
- on errorpublic int bitsCached()
public long bitsAvailable() throws java.io.IOException
java.io.IOException
- if the underlying stream throws one when calling availablepublic void alignWithByteBoundary()
public long getBytesRead()
This includes the bytes read to fill the current cache and not read as bits so far.
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"