Android APIs
public class

ByteArrayOutputStream

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

Class Overview

A specialized OutputStream for class for writing content to an (internal) byte array. As bytes are written to this stream, the byte array may be expanded to hold more bytes. When the writing is considered to be finished, a copy of the byte array can be requested from the class.

Summary

Fields
protected byte[] buf The byte array containing the bytes written.
protected int count The number of bytes written.
Public Constructors
ByteArrayOutputStream()
Constructs a new ByteArrayOutputStream with a default size of 32 bytes.
ByteArrayOutputStream(int size)
Constructs a new ByteArrayOutputStream with a default size of size bytes.
Public Methods
void close()
Closes this stream.
synchronized void reset()
Resets this stream to the beginning of the underlying byte array.
int size()
Returns the total number of bytes written to this stream so far.
synchronized byte[] toByteArray()
Returns the contents of this ByteArrayOutputStream as a byte array.
String toString(int hibyte)
This method was deprecated in API level 1. Use toString() instead.
String toString(String charsetName)
Returns the contents of this ByteArrayOutputStream as a string converted according to the encoding declared in charsetName.
String toString()
Returns the contents of this ByteArrayOutputStream as a string.
synchronized void write(byte[] buffer, int offset, int len)
Writes count bytes from the byte array buffer starting at offset index to this stream.
synchronized void write(int oneByte)
Writes the specified byte oneByte to the OutputStream.
synchronized void writeTo(OutputStream out)
Takes the contents of this stream and writes it to the output stream out.
[Expand]
Inherited Methods
From class java.io.OutputStream
From class java.lang.Object
From interface java.io.Closeable
From interface java.io.Flushable
From interface java.lang.AutoCloseable

Fields

protected byte[] buf

Added in API level 1

The byte array containing the bytes written.

protected int count

Added in API level 1

The number of bytes written.

Public Constructors

public ByteArrayOutputStream ()

Added in API level 1

Constructs a new ByteArrayOutputStream with a default size of 32 bytes. If more than 32 bytes are written to this instance, the underlying byte array will expand.

public ByteArrayOutputStream (int size)

Added in API level 1

Constructs a new ByteArrayOutputStream with a default size of size bytes. If more than size bytes are written to this instance, the underlying byte array will expand.

Parameters
size initial size for the underlying byte array, must be non-negative.
Throws
IllegalArgumentException if size < 0.

Public Methods

public void close ()

Added in API level 1

Closes this stream. This releases system resources used for this stream.

Throws
IOException if an error occurs while attempting to close this stream.

public synchronized void reset ()

Added in API level 1

Resets this stream to the beginning of the underlying byte array. All subsequent writes will overwrite any bytes previously stored in this stream.

public int size ()

Added in API level 1

Returns the total number of bytes written to this stream so far.

Returns
  • the number of bytes written to this stream.

public synchronized byte[] toByteArray ()

Added in API level 1

Returns the contents of this ByteArrayOutputStream as a byte array. Any changes made to the receiver after returning will not be reflected in the byte array returned to the caller.

Returns
  • this stream's current contents as a byte array.

public String toString (int hibyte)

Added in API level 1

This method was deprecated in API level 1.
Use toString() instead.

Returns the contents of this ByteArrayOutputStream as a string. Each byte b in this stream is converted to a character c using the following function: c == (char)(((hibyte & 0xff) << 8) | (b & 0xff)). This method is deprecated and either toString() or toString(String) should be used.

Parameters
hibyte the high byte of each resulting Unicode character.
Returns
  • this stream's current contents as a string with the high byte set to hibyte.

public String toString (String charsetName)

Added in API level 1

Returns the contents of this ByteArrayOutputStream as a string converted according to the encoding declared in charsetName.

Parameters
charsetName a string representing the encoding to use when translating this stream to a string.
Returns
  • this stream's current contents as an encoded string.
Throws
UnsupportedEncodingException if the provided encoding is not supported.

public String toString ()

Added in API level 1

Returns the contents of this ByteArrayOutputStream as a string. Any changes made to the receiver after returning will not be reflected in the string returned to the caller.

Returns
  • this stream's current contents as a string.

public synchronized void write (byte[] buffer, int offset, int len)

Added in API level 1

Writes count bytes from the byte array buffer starting at offset index to this stream.

Parameters
buffer the buffer to be written.
offset the initial position in buffer to retrieve bytes.
len the number of bytes of buffer to write.
Throws
NullPointerException if buffer is null.
IndexOutOfBoundsException if offset < 0 or len < 0, or if offset + len is greater than the length of buffer.

public synchronized void write (int oneByte)

Added in API level 1

Writes the specified byte oneByte to the OutputStream. Only the low order byte of oneByte is written.

Parameters
oneByte the byte to be written.

public synchronized void writeTo (OutputStream out)

Added in API level 1

Takes the contents of this stream and writes it to the output stream out.

Parameters
out an OutputStream on which to write the contents of this stream.
Throws
IOException if an error occurs while writing to out.