public class

ByteArrayOutputStream

extends OutputStream
java.lang.Object
   ↳ java.io.OutputStream
     ↳ java.io.ByteArrayOutputStream

Class Overview

This class 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().

Summary

Fields
protected byte[] buf The buffer where data is stored.
protected int count The number of valid bytes in the buffer.
Public Constructors
ByteArrayOutputStream()
Creates a new byte array output stream.
ByteArrayOutputStream(int size)
Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes.
Public Methods
synchronized void close()
Closes this output stream and releases any system resources associated with this stream.
synchronized 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.
synchronized byte[] toByteArray()
Creates a newly allocated byte array.
String toString()
Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.
synchronized 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.
synchronized void write(int b)
Writes the specified byte to this byte array output stream.
[Expand]
Inherited Methods
From class java.io.OutputStream
From class java.lang.Object

Fields

protected byte[] buf

The buffer where data is stored.

protected int count

The number of valid bytes in the buffer.

Public Constructors

public ByteArrayOutputStream ()

Creates a new byte array output stream. The buffer capacity is initially 32 bytes, though its size increases if necessary.

public ByteArrayOutputStream (int size)

Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes.

Parameters
size the initial size.
Throws
IllegalArgumentException if size is negative.

Public Methods

public synchronized void close ()

Closes this output stream and releases any system resources associated with this stream. A closed stream cannot perform output operations and cannot be reopened.

Throws
IOException

public synchronized 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. The output stream can be used again, reusing the already allocated buffer space.

See Also

public int size ()

Returns the current size of the buffer.

Returns
  • the value of the count field, which is the number of valid bytes in this output stream.
See Also

public synchronized byte[] toByteArray ()

Creates a newly allocated byte array. Its size is the current size of this output stream and the valid contents of the buffer have been copied into it.

Returns
  • the current contents of this output stream, as a byte array.
See Also

public String toString ()

Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.

Returns
  • String translated from the buffer's contents.

public synchronized 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.

Parameters
b the data.
off the start offset in the data.
len the number of bytes to write.

public synchronized void write (int b)

Writes the specified byte to this byte array output stream.

Parameters
b the byte to be written.