public class ByteArrayBitInputStream extends Object implements BitInputStream
BitInputStream interface,
using a byte array as data source.BIG_ENDIAN, LITTLE_ENDIAN| Constructor and Description |
|---|
ByteArrayBitInputStream(byte[] source) |
ByteArrayBitInputStream(byte[] source,
int endian) |
| Modifier and Type | Method and Description |
|---|---|
void |
align()
causes the read pointer to be moved to the beginning
of the next byte, remaining bits in the current byte
are discarded
|
boolean |
getBit()
reads one bit (as a boolean) from the input stream
|
int |
getInt(HuffmanNode root)
reads a huffman codeword based on the
root
parameter and returns the decoded value |
int |
getInt(int bits)
reads
bits number of bits from the input
stream |
long |
getLong(int bits)
reads
bits number of bits from the input
stream |
int |
getSignedInt(int bits)
reads
bits number of bits from the input
stream |
byte[] |
getSource() |
int |
readSignedRice(int order)
reads an integer encoded as "signed rice" as described in
the FLAC audio format specification
|
void |
readSignedRice(int order,
int[] buffer,
int off,
int len)
fills the array from
offset with len
integers encoded as "signed rice" as described in
the FLAC audio format specification |
void |
setEndian(int endian)
changes the endian mode used when reading bit-wise from
the stream, changing the mode mid-stream will cause the
read cursor to move to the beginning of the next byte
(as if calling the
allign method |
public ByteArrayBitInputStream(byte[] source)
public ByteArrayBitInputStream(byte[] source,
int endian)
public boolean getBit()
throws IOException
BitInputStreamgetBit in interface BitInputStreamtrue if the next bit is 1,
false otherwiseIOException - if an I/O error occurspublic int getInt(int bits)
throws IOException
BitInputStreambits number of bits from the input
streamgetInt in interface BitInputStreamIOException - if an I/O error occurspublic int getSignedInt(int bits)
throws IOException
BitInputStreambits number of bits from the input
streamgetSignedInt in interface BitInputStreamIOException - if an I/O error occurspublic int getInt(HuffmanNode root) throws IOException
BitInputStreamroot
parameter and returns the decoded valuegetInt in interface BitInputStreamroot - the root of the Huffman tree used to decode the codewordIOException - if an I/O error occurspublic long getLong(int bits)
throws IOException
BitInputStreambits number of bits from the input
streamgetLong in interface BitInputStreamIOException - if an I/O error occurspublic int readSignedRice(int order)
throws IOException
reads an integer encoded as "signed rice" as described in the FLAC audio format specification
not supported for little endian
readSignedRice in interface BitInputStreamorder - IOException - if an I/O error occursUnsupportedOperationException - if the method is not supported by the implementationpublic void readSignedRice(int order,
int[] buffer,
int off,
int len)
throws IOException
fills the array from offset with len
integers encoded as "signed rice" as described in
the FLAC audio format specification
not supported for little endian
readSignedRice in interface BitInputStreamorder - buffer - offset - len - IOException - if an I/O error occursUnsupportedOperationException - if the method is not supported by the implementationpublic void align()
BitInputStreamalign in interface BitInputStreampublic void setEndian(int endian)
BitInputStreamallign methodsetEndian in interface BitInputStreamBitInputStream.align()public byte[] getSource()
Copyright © 2017. All rights reserved.