Package org.apache.commons.io.output
Class ByteArrayOutputStream
- java.lang.Object
 - 
- java.io.OutputStream
 - 
- org.apache.commons.io.output.AbstractByteArrayOutputStream
 - 
- org.apache.commons.io.output.ByteArrayOutputStream
 
 
 
 
- 
- All Implemented Interfaces:
 java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class ByteArrayOutputStream extends AbstractByteArrayOutputStream
Implements a ThreadSafe version ofAbstractByteArrayOutputStreamusing instance synchronization. 
- 
- 
Constructor Summary
Constructors Constructor Description 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. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidreset()intsize()Returns the current size of the byte array.static java.io.InputStreamtoBufferedInputStream(java.io.InputStream input)Fetches entire contents of anInputStreamand represent same data as result InputStream.static java.io.InputStreamtoBufferedInputStream(java.io.InputStream input, int size)Fetches entire contents of anInputStreamand represent same data as result InputStream.byte[]toByteArray()Gets the current contents of this byte stream as a byte array.java.io.InputStreamtoInputStream()Gets the current contents of this byte stream as a Input Stream.voidwrite(byte[] b, int off, int len)Writes the bytes to the byte array.voidwrite(int b)Write a byte to byte array.intwrite(java.io.InputStream in)Writes the entire contents of the specified input stream to this byte stream.voidwriteTo(java.io.OutputStream out)Writes the entire contents of this byte stream to the specified output stream.- 
Methods inherited from class org.apache.commons.io.output.AbstractByteArrayOutputStream
close, toString, toString, toString 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
ByteArrayOutputStream
public ByteArrayOutputStream()
Creates a new byte array output stream. The buffer capacity is initially 1024 bytes, though its size increases if necessary. 
- 
ByteArrayOutputStream
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:
 java.lang.IllegalArgumentException- if size is negative
 
 - 
 
- 
Method Detail
- 
write
public void write(byte[] b, int off, int len)Description copied from class:AbstractByteArrayOutputStreamWrites the bytes to the byte array.- Specified by:
 writein classAbstractByteArrayOutputStream- Parameters:
 b- the bytes to writeoff- The start offsetlen- The number of bytes to write
 
- 
write
public void write(int b)
Description copied from class:AbstractByteArrayOutputStreamWrite a byte to byte array.- Specified by:
 writein classAbstractByteArrayOutputStream- Parameters:
 b- the byte to write
 
- 
write
public int write(java.io.InputStream in) throws java.io.IOExceptionDescription copied from class:AbstractByteArrayOutputStreamWrites the entire contents of the specified input stream to this byte stream. Bytes from the input stream are read directly into the internal buffers of this streams.- Specified by:
 writein classAbstractByteArrayOutputStream- Parameters:
 in- the input stream to read from- Returns:
 - total number of bytes read from the input stream (and written to this stream)
 - Throws:
 java.io.IOException- if an I/O error occurs while reading the input stream
 
- 
size
public int size()
Description copied from class:AbstractByteArrayOutputStreamReturns the current size of the byte array.- Specified by:
 sizein classAbstractByteArrayOutputStream- Returns:
 - the current size of the byte array
 
 
- 
reset
public void reset()
- Specified by:
 resetin classAbstractByteArrayOutputStream- See Also:
 ByteArrayOutputStream.reset()
 
- 
writeTo
public void writeTo(java.io.OutputStream out) throws java.io.IOExceptionDescription copied from class:AbstractByteArrayOutputStreamWrites the entire contents of this byte stream to the specified output stream.- Specified by:
 writeToin classAbstractByteArrayOutputStream- Parameters:
 out- the output stream to write to- Throws:
 java.io.IOException- if an I/O error occurs, such as if the stream is closed- See Also:
 ByteArrayOutputStream.writeTo(OutputStream)
 
- 
toBufferedInputStream
public static java.io.InputStream toBufferedInputStream(java.io.InputStream input) throws java.io.IOExceptionFetches entire contents of anInputStreamand represent same data as result InputStream.This method is useful where,
- Source InputStream is slow.
 - It has network resources associated, so we cannot keep it open for long time.
 - It has network timeout associated.
 
toByteArray(), since it avoids unnecessary allocation and copy of byte[].
This method buffers the input internally, so there is no need to use aBufferedInputStream.- Parameters:
 input- Stream to be fully buffered.- Returns:
 - A fully buffered stream.
 - Throws:
 java.io.IOException- if an I/O error occurs.- Since:
 - 2.0
 
 
- 
toBufferedInputStream
public static java.io.InputStream toBufferedInputStream(java.io.InputStream input, int size) throws java.io.IOExceptionFetches entire contents of anInputStreamand represent same data as result InputStream.This method is useful where,
- Source InputStream is slow.
 - It has network resources associated, so we cannot keep it open for long time.
 - It has network timeout associated.
 
toByteArray(), since it avoids unnecessary allocation and copy of byte[].
This method buffers the input internally, so there is no need to use aBufferedInputStream.- Parameters:
 input- Stream to be fully buffered.size- the initial buffer size- Returns:
 - A fully buffered stream.
 - Throws:
 java.io.IOException- if an I/O error occurs.- Since:
 - 2.5
 
 
- 
toInputStream
public java.io.InputStream toInputStream()
Description copied from class:AbstractByteArrayOutputStreamGets the current contents of this byte stream as a Input Stream. The returned stream is backed by buffers ofthisstream, avoiding memory allocation and copy, thus saving space and time.- Specified by:
 toInputStreamin classAbstractByteArrayOutputStream- Returns:
 - the current contents of this output stream.
 - See Also:
 ByteArrayOutputStream.toByteArray(),AbstractByteArrayOutputStream.reset()
 
- 
toByteArray
public byte[] toByteArray()
Description copied from class:AbstractByteArrayOutputStreamGets the current contents of this byte stream as a byte array. The result is independent of this stream.- Specified by:
 toByteArrayin classAbstractByteArrayOutputStream- Returns:
 - the current contents of this output stream, as a byte array
 - See Also:
 ByteArrayOutputStream.toByteArray()
 
 - 
 
 -