Class UnsynchronizedByteArrayOutputStream (6.107.0)

public final class UnsynchronizedByteArrayOutputStream

A simple, unsynchronized byte array output stream optimized for key encoding.

Unlike java.io.ByteArrayOutputStream, this class is not thread-safe and does not incur synchronization overhead. This provides better performance for single-threaded key encoding operations where synchronization is not required.

Inheritance

java.lang.Object > UnsynchronizedByteArrayOutputStream

Constructors

UnsynchronizedByteArrayOutputStream()

public UnsynchronizedByteArrayOutputStream()

Creates a new output stream with a default initial capacity of 32 bytes.

UnsynchronizedByteArrayOutputStream(int initialCapacity)

public UnsynchronizedByteArrayOutputStream(int initialCapacity)

Creates a new output stream with the specified initial capacity.

Parameter
Name Description
initialCapacity int

the initial buffer size

Methods

reset()

public void reset()

Resets the buffer so that it can be reused. The underlying buffer is retained.

size()

public int size()

Returns the current number of bytes written to this stream.

Returns
Type Description
int

the number of valid bytes in the buffer

toByteArray()

public byte[] toByteArray()

Returns a copy of the buffer contents as a new byte array.

Returns
Type Description
byte[]

a new byte array containing the written bytes

write(byte[] b, int off, int len)

public void write(byte[] b, int off, int len)

Writes a portion of a byte array to this output stream.

Parameters
Name Description
b byte[]

the source byte array

off int

the start offset in the array

len int

the number of bytes to write

write(int b)

public void write(int b)

Writes the specified byte to this output stream.

Parameter
Name Description
b int

the byte to write (only the low 8 bits are used)