public class MultiByteArrayOutputStream extends OutputStream implements OutputStreaming
| Modifier and Type | Field | Description |
|---|---|---|
protected byte[] |
m_ab |
The current block of output.
|
protected int |
m_cbBlock |
The max size of each block.
|
protected int |
m_cBlocks |
The number of flushed blocks.
|
protected int |
m_cbPadBack |
The number of additional bytes to allocate and leave free at the back
(end) of each block
|
protected int |
m_cbPadFront |
The number of additional bytes to allocate and leave free at the front
(start) of each block
|
protected boolean |
m_fClosed |
True after close is invoked.
|
protected List |
m_listBlock |
The list of blocks.
|
protected int |
m_of |
The offset into the current block of output.
|
| Constructor | Description |
|---|---|
MultiByteArrayOutputStream(int cbBlock) |
Construct a MultiByteArrayOutputStream to write to byte arrays of the
specified length.
|
MultiByteArrayOutputStream(int cbBlock,
int cbPadFront,
int cbPadBack) |
Construct a MultiByteArrayOutputStream to write to byte arrays of the
specified length, leaving the specified amount of padding at the front
and back of each byte array.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
check() |
Verify that the stream is still open.
|
void |
close() |
Close the stream, flushing any accumulated bytes.
|
void |
flush() |
Flush any accumulated bytes.
|
int |
getBackPaddingSize() |
Determine the number of extra bytes of padding that will be allocated
and left blank at the end of each block after the data portion.
|
byte[] |
getBlock(int i) |
Obtain the specified block of data.
|
int |
getBlockCount() |
Determine the number of blocks that have been written thus far.
|
int |
getBlockDataSize() |
Determine the maximum number of bytes of data that will be stored in
each block.
|
int |
getBlockDataSize(int i) |
Determine the specific number of bytes of data stored in the specified
block.
|
int |
getFrontPaddingSize() |
Determine the number of extra bytes of padding that will be allocated
and left blank at the start of each block in front of the data portion.
|
protected int |
requestCapacity(int cbMore) |
Ensure that the current block contains some available capacity, preferably
enough to fulfill the specified capacity.
|
String |
toString() |
Create a human readable string representing the data written to the
stream.
|
void |
write(byte[] abSrc,
int ofSrc,
int cbSrc) |
Writes
len bytes from the specified byte array
starting at offset off to this output stream. |
void |
write(int b) |
Writes the specified byte to this output stream.
|
writeprotected byte[] m_ab
protected int m_of
protected int m_cbBlock
protected int m_cbPadFront
protected int m_cbPadBack
protected List m_listBlock
protected int m_cBlocks
protected boolean m_fClosed
public MultiByteArrayOutputStream(int cbBlock)
cbBlock - the number of bytes (maximum) per blockpublic MultiByteArrayOutputStream(int cbBlock,
int cbPadFront,
int cbPadBack)
cbBlock - the number of data bytes (maximum) per blockcbPadFront - the number of additional bytes to allocate and
leave free at the front (start) of each blockcbPadBack - the number of additional bytes to allocate and
leave free at the back (end) of each blockpublic void write(int b)
throws IOException
write in interface com.oracle.coherence.common.io.OutputStreamingwrite in class OutputStreamb - the byte.IOException - if an I/O error occurs. In particular,
an IOException may be thrown if the
output stream has been closed.public void write(byte[] abSrc,
int ofSrc,
int cbSrc)
throws IOException
len bytes from the specified byte array
starting at offset off to this output stream.
If b is null, a
NullPointerException is thrown.
If off is negative, or len is negative, or
off+len is greater than the length of the array
b, then an IndexOutOfBoundsException is thrown.
write in interface com.oracle.coherence.common.io.OutputStreamingwrite in class OutputStreamabSrc - the dataofSrc - the start offset in the datacbSrc - the number of bytes to writeIOException - if an I/O error occurs. In particular,
an IOException is thrown if the output
stream is closed.public void flush()
throws IOException
flush in interface com.oracle.coherence.common.io.OutputStreamingflush in interface Flushableflush in class OutputStreamIOException - if an I/O error occurspublic void close()
throws IOException
close in interface com.oracle.coherence.common.io.OutputStreamingclose in interface Closeableclose in interface AutoCloseableclose in class OutputStreamIOException - if an I/O error occurspublic String toString()
public int getBlockCount()
public byte[] getBlock(int i)
i - block index in the range [0..getBlockCount()]; passing the
getBlockCount() will return the active blockpublic int getBlockDataSize(int i)
i - block index in the range [0..getBlockCount()]; passing the
getBlockCount() will return the size of the active blockpublic int getBlockDataSize()
public int getFrontPaddingSize()
public int getBackPaddingSize()
protected void check()
throws IOException
IOExceptionprotected int requestCapacity(int cbMore)
cbMore - the requested capacity