public class EvioByteArrayOutputStream
extends java.io.OutputStream
It implements an output stream in which the data is
written into a byte array. The buffer automatically grows as data
is written to it.
The data can be retrieved using toByteArray()
and
toString()
.
Closing a ByteArrayOutputStream has no effect. The methods in this class can be called after the stream has been closed without generating an IOException.
Modifier and Type | Field and Description |
---|---|
(package private) byte[] |
buf
The buffer where data is stored.
|
(package private) java.nio.ByteBuffer |
byteBuf
Wrapper around buf.
|
(package private) int |
count
The number of valid bytes in the buffer.
|
Constructor and Description |
---|
EvioByteArrayOutputStream(int size)
Creates a new byte array output stream, with a buffer capacity of
the specified size, in bytes.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closing a ByteArrayOutputStream has no effect.
|
byte[] |
getByteArray()
Get the current backing byte array.
|
java.nio.ByteBuffer |
getByteBuffer()
Get the current backing ByteBuffer (which wraps the byte array).
|
void |
reset()
Resets the
count field of this byte array output
stream to zero, so that all currently accumulated output in the
output stream is discarded. |
int |
size()
Returns the current size of the buffer.
|
byte[] |
toByteArray()
Creates a newly allocated byte array.
|
void |
write(byte[] b,
int off,
int len)
Writes
len bytes from the specified byte array
starting at offset off to this byte array output stream. |
void |
write(int b)
Writes the specified byte to this byte array output stream.
|
void |
writeTo(java.io.OutputStream out)
Writes the complete contents of this byte array output stream to
the specified output stream argument, as if by calling the output
stream's write method using
out.write(buf, 0, count) . |
byte[] buf
java.nio.ByteBuffer byteBuf
int count
public EvioByteArrayOutputStream(int size)
size
- the initial size.public void write(int b)
write
in class java.io.OutputStream
b
- the byte to be written.public void write(byte[] b, int off, int len)
len
bytes from the specified byte array
starting at offset off
to this byte array output stream.write
in class java.io.OutputStream
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.public void writeTo(java.io.OutputStream out) throws java.io.IOException
out.write(buf, 0, count)
.out
- the output stream to which to write the data.java.io.IOException
- if an I/O error occurs.public void reset()
count
field of this byte array output
stream to zero, so that all currently accumulated output in the
output stream is discarded. The output stream can be used again,
reusing the already allocated buffer space.ByteArrayInputStream.count
public byte[] getByteArray()
ByteArrayOutputStream.size()
public java.nio.ByteBuffer getByteBuffer()
ByteArrayOutputStream.size()
public byte[] toByteArray()
ByteArrayOutputStream.size()
public int size()
count
field, which is the number
of valid bytes in this output stream.public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException