public final class ByteArrayWriteBuffer.ByteArrayBufferOutput extends AbstractWriteBuffer.AbstractBufferOutput
m_ofWrite
MAX_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, writeUTF
public ByteArrayBufferOutput()
public ByteArrayBufferOutput(int of)
of
- the offset at which to begin writingpublic void writeShort(int n) throws IOException
writeShort
in interface WriteBuffer.BufferOutput
writeShort
in interface DataOutput
writeShort
in class AbstractWriteBuffer.AbstractBufferOutput
n
- the short to write (passed as an integer)IOException
- if an I/O error occurspublic void writeInt(int n) throws IOException
writeInt
in interface WriteBuffer.BufferOutput
writeInt
in interface DataOutput
writeInt
in class AbstractWriteBuffer.AbstractBufferOutput
n
- the int to writeIOException
- if an I/O error occurspublic void writeLong(long l) throws IOException
writeLong
in interface WriteBuffer.BufferOutput
writeLong
in interface DataOutput
writeLong
in class AbstractWriteBuffer.AbstractBufferOutput
l
- the long to writeIOException
- if an I/O error occurspublic void writeBytes(String s) throws IOException
writeBytes
in interface WriteBuffer.BufferOutput
writeBytes
in interface DataOutput
writeBytes
in class AbstractWriteBuffer.AbstractBufferOutput
s
- the String to writeIOException
- if an I/O error occurspublic void writeChars(String s) throws IOException
writeChars
in interface WriteBuffer.BufferOutput
writeChars
in interface DataOutput
writeChars
in class AbstractWriteBuffer.AbstractBufferOutput
s
- 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.BufferOutput
writeUTF
in interface DataOutput
writeUTF
in class AbstractWriteBuffer.AbstractBufferOutput
s
- 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.BufferOutput
writeSafeUTF
in class AbstractWriteBuffer.AbstractBufferOutput
s
- a String value to write; may be nullIOException
- if an I/O error occurspublic 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.BufferOutput
writePackedInt
in class AbstractWriteBuffer.AbstractBufferOutput
n
- an int value to writeIOException
- if an I/O error occurspublic 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.BufferOutput
writePackedLong
in class AbstractWriteBuffer.AbstractBufferOutput
l
- a long value to writeIOException
- if an I/O error occursprotected void moveOffset(int cb)
cb
- the number of bytes to advance the offset