Package jj2000.j2k.entropy.encoder
Class ByteOutputBuffer
java.lang.Object
jj2000.j2k.entropy.encoder.ByteOutputBuffer
This class provides a buffering output stream similar to
ByteArrayOutputStream, with some additional methods.
Once an array has been written to an output stream or to a byte array, the object can be reused as a new stream if the reset() method is called.
Unlike the ByteArrayOutputStream class, this class is not thread safe.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe default initial buffer sizestatic final intThe buffer increase size -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new byte array output stream.ByteOutputBuffer(int size) Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes. -
Method Summary
Modifier and TypeMethodDescriptionintgetByte(int pos) Returns the byte buffered at the given position in the buffer.voidreset()Discards all the buffered data, by resetting the counter of written bytes to 0.intsize()Returns the number of valid bytes in the output buffer (count class variable).voidtoByteArray(int off, int len, byte[] outbuf, int outoff) Copies the specified part of the stream to the 'outbuf' byte array.final voidwrite(int b) Writes the specified byte to this byte array output stream.
-
Field Details
-
BUF_INC
public static final int BUF_INCThe buffer increase size- See Also:
-
BUF_DEF_LEN
public static final int BUF_DEF_LENThe default initial buffer size- See Also:
-
-
Constructor Details
-
ByteOutputBuffer
public ByteOutputBuffer()Creates a new byte array output stream. The buffer capacity is initially BUF_DEF_LEN bytes, though its size increases if necessary. -
ByteOutputBuffer
public ByteOutputBuffer(int size) Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes.- Parameters:
size- the initial size.
-
-
Method Details
-
write
public final void write(int b) Writes the specified byte to this byte array output stream. The functionality provided by this implementation is the same as for the one in the superclass, however this method is not synchronized and therefore not safe thread, but faster.- Parameters:
b- The byte to write
-
toByteArray
public void toByteArray(int off, int len, byte[] outbuf, int outoff) Copies the specified part of the stream to the 'outbuf' byte array.- Parameters:
off- The index of the first element in the stream to copy.len- The number of elements of the array to copyoutbuf- The destination arrayoutoff- The index of the first element in 'outbuf' where to write the data.
-
size
public int size()Returns the number of valid bytes in the output buffer (count class variable).- Returns:
- The number of bytes written to the buffer
-
reset
public void reset()Discards all the buffered data, by resetting the counter of written bytes to 0. -
getByte
public int getByte(int pos) Returns the byte buffered at the given position in the buffer. The position in the buffer is the index of the 'write()' method call after the last call to 'reset()'.- Parameters:
pos- The position of the byte to return- Returns:
- The value (betweeb 0-255) of the byte at position 'pos'.
-