public final class ByteArrayWriteBuffer.ByteArrayBufferOutput extends AbstractWriteBuffer.AbstractBufferOutput
m_ofWriteMAX_PACKED_INT_SIZE, MAX_PACKED_LONG_SIZE| Constructor and Description |
|---|
ByteArrayBufferOutput()
Construct an ByteArrayBufferOutput that will begin writing at the start of the containing WriteBuffer.
|
ByteArrayBufferOutput(int of)
Construct an ByteArrayBufferOutput that will begin writing at the specified offset within the containing WriteBuffer.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
moveOffset(int cb)
Move the offset within the stream forward.
|
void |
writeBytes(String s)
Writes the String s, but only the low-order byte from each character of the String is written.
|
void |
writeChars(String s)
Writes the String s as a sequence of characters.
|
void |
writeInt(int n)
Writes an int value.
|
void |
writeLong(long l)
Writes a long value.
|
void |
writePackedInt(int n)
Write an int value using a variable-length storage-format.
|
void |
writePackedLong(long l)
Write a long value using a variable-length storage-format.
|
void |
writeSafeUTF(String s)
Write a variable-length encoded UTF packed String.
|
void |
writeShort(int n)
Writes a short value, comprised of the 16 low-order bits of the argument n; the 16 high-order bits of n are ignored.
|
void |
writeUTF(String s)
Writes the String s as a sequence of characters, but using UTF-8 encoding for the characters, and including the String length data so that the corresponding
DataInput.readUTF() method can reconstitute a String from the written data. |
calcUTF, close, flush, formatUTF, formatUTF, getBuffer, getCharBuf, getOffset, setOffset, write, write, write, writeBoolean, writeBuffer, writeBuffer, writeByte, writeChar, writeDouble, writeFloat, writeStream, writeStream, writeUTFpublic ByteArrayBufferOutput()
public ByteArrayBufferOutput(int of)
of - the offset at which to begin writing
public void writeShort(int n)
throws IOException
writeShort in interface WriteBuffer.BufferOutputwriteShort in interface DataOutputwriteShort in class AbstractWriteBuffer.AbstractBufferOutputn - the short to write (passed as an integer)IOException - if an I/O error occurs
public void writeInt(int n)
throws IOException
writeInt in interface WriteBuffer.BufferOutputwriteInt in interface DataOutputwriteInt in class AbstractWriteBuffer.AbstractBufferOutputn - the int to writeIOException - if an I/O error occurs
public void writeLong(long l)
throws IOException
writeLong in interface WriteBuffer.BufferOutputwriteLong in interface DataOutputwriteLong in class AbstractWriteBuffer.AbstractBufferOutputl - the long to writeIOException - if an I/O error occurspublic void writeBytes(String s) throws IOException
writeBytes in interface WriteBuffer.BufferOutputwriteBytes in interface DataOutputwriteBytes in class AbstractWriteBuffer.AbstractBufferOutputs - the String to writeIOException - if an I/O error occurspublic void writeChars(String s) throws IOException
writeChars in interface WriteBuffer.BufferOutputwriteChars in interface DataOutputwriteChars in class AbstractWriteBuffer.AbstractBufferOutputs - the String to writeIOException - if an I/O error occurspublic void writeUTF(String s) throws IOException
DataInput.readUTF() method can reconstitute a String from the written data.writeUTF in interface WriteBuffer.BufferOutputwriteUTF in interface DataOutputwriteUTF in class AbstractWriteBuffer.AbstractBufferOutputs - the String to writeIOException - if an I/O error occurspublic void writeSafeUTF(String s) throws IOException
The binary format for a Safe UTF value is a "packed int" for the binary length followed by the UTF-encoded byte stream. The length is either -1 (indicating a null String) or in the range 0 .. Integer.MAX_VALUE (inclusive). The UTF-encoded portion uses a format identical to DataOutput.
writeSafeUTF in interface WriteBuffer.BufferOutputwriteSafeUTF in class AbstractWriteBuffer.AbstractBufferOutputs - a String value to write; may be nullIOException - if an I/O error occurs
public void writePackedInt(int n)
throws IOException
The format differs from DataOutput in that DataOutput always uses a fixed-length 4-byte Big Endian binary format for int values. The "packed" format includes a sign bit (0x40) and a continuation bit (0x80) in the first byte, followed by the least 6 significant bits of the int value. Subsequent bytes (each appearing only if the previous byte had its continuation bit set) include a continuation bit (0x80) and the next least 7 significant bits of the int value. In this way, a 32-bit value is encoded into 1-5 bytes, depending on the magnitude of the int value being encoded.
writePackedInt in interface WriteBuffer.BufferOutputwritePackedInt in class AbstractWriteBuffer.AbstractBufferOutputn - an int value to writeIOException - if an I/O error occurs
public void writePackedLong(long l)
throws IOException
The format differs from DataOutput in that DataOutput always uses a fixed-length 8-byte Big Endian binary format for long values. The "packed" format includes a sign bit (0x40) and a continuation bit (0x80) in the first byte, followed by the least 6 significant bits of the long value. Subsequent bytes (each appearing only if the previous byte had its continuation bit set) include a continuation bit (0x80) and the next least 7 significant bits of the long value. In this way, a 64-bit value is encoded into 1-10 bytes, depending on the magnitude of the long value being encoded.
writePackedLong in interface WriteBuffer.BufferOutputwritePackedLong in class AbstractWriteBuffer.AbstractBufferOutputl - a long value to writeIOException - if an I/O error occursprotected void moveOffset(int cb)
cb - the number of bytes to advance the offset