Package org.apache.commons.io.output
Class UnsynchronizedByteArrayOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.io.output.AbstractByteArrayOutputStream
-
- org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public final class UnsynchronizedByteArrayOutputStream extends AbstractByteArrayOutputStream
Implements a version ofAbstractByteArrayOutputStreamwithout any concurrent thread safety.- Since:
- 2.7
-
-
Constructor Summary
Constructors Constructor Description UnsynchronizedByteArrayOutputStream()Creates a new byte array output stream.UnsynchronizedByteArrayOutputStream(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
-
UnsynchronizedByteArrayOutputStream
public UnsynchronizedByteArrayOutputStream()
Creates a new byte array output stream. The buffer capacity is initially 1024 bytes, though its size increases if necessary.
-
UnsynchronizedByteArrayOutputStream
public UnsynchronizedByteArrayOutputStream(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.
-
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.
-
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()
-
-