|
|||||||||
| Home >> All >> java >> [ io overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.io
Class ByteArrayOutputStream

java.lang.Objectjava.io.OutputStream
java.io.ByteArrayOutputStream
- public class ByteArrayOutputStream
- extends OutputStream
This class allows data to be written to a byte array buffer and and then retrieved by an application. The internal byte array buffer is dynamically resized to hold all the data written. Please be aware that writing large amounts to data to this stream will cause large amounts of memory to be allocated.
The size of the internal buffer defaults to 32 and it is resized
by doubling the size of the buffer. This default size can be
overridden by using the
gnu.java.io.ByteArrayOutputStream.initialBufferSize
property.
There is a constructor that specified the initial buffer size and that is the preferred way to set that value because it it portable across all Java class library implementations.
Note that this class also has methods that convert the byte array
buffer to a String using either the system default or an
application specified character encoding. Thus it can handle
multibyte character encodings.
| Field Summary | |
protected byte[] |
buf
The internal buffer where the data written is stored |
protected int |
count
The number of bytes that have been written to the buffer |
private static int |
DEFAULT_INITIAL_BUFFER_SIZE
The default initial buffer size. |
private static int |
initial_buffer_size
|
| Constructor Summary | |
ByteArrayOutputStream()
This method initializes a new ByteArrayOutputStream
with the default buffer size of 32 bytes. |
|
ByteArrayOutputStream(int size)
This method initializes a new ByteArrayOutputStream with
a specified initial buffer size. |
|
| Method Summary | |
void |
reset()
This method discards all of the bytes that have been written to the internal buffer so far by setting the count
variable to 0. |
private void |
resize(int add)
|
int |
size()
This method returns the number of bytes that have been written to the buffer so far. |
byte[] |
toByteArray()
This method returns a byte array containing the bytes that have been written to this stream so far. |
java.lang.String |
toString()
Returns the bytes in the internal array as a String. |
java.lang.String |
toString(int hibyte)
Deprecated. |
java.lang.String |
toString(java.lang.String enc)
Returns the bytes in the internal array as a String. |
void |
write(byte[] buffer,
int offset,
int add)
This method writes len bytes from the passed in array
buf starting at index offset into the
internal buffer. |
void |
write(int oneByte)
This method writes the writes the specified byte into the internal buffer. |
void |
writeTo(OutputStream out)
This method writes all the bytes that have been written to this stream from the internal buffer to the specified OutputStream. |
| Methods inherited from class java.io.OutputStream |
close, flush, write |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
buf
protected byte[] buf
- The internal buffer where the data written is stored
count
protected int count
- The number of bytes that have been written to the buffer
DEFAULT_INITIAL_BUFFER_SIZE
private static final int DEFAULT_INITIAL_BUFFER_SIZE
- The default initial buffer size. Specified by the JCL.
- See Also:
- Constant Field Values
initial_buffer_size
private static final int initial_buffer_size
| Constructor Detail |
ByteArrayOutputStream
public ByteArrayOutputStream()
- This method initializes a new
ByteArrayOutputStreamwith the default buffer size of 32 bytes. If a different initial buffer size is desired, see the constructorByteArrayOutputStream(int size). For applications where the source code is not available, the default buffer size can be set using the system propertygnu.java.io.ByteArrayOutputStream.initialBufferSize
ByteArrayOutputStream
public ByteArrayOutputStream(int size)
- This method initializes a new
ByteArrayOutputStreamwith a specified initial buffer size.
| Method Detail |
reset
public void reset()
- This method discards all of the bytes that have been written to
the internal buffer so far by setting the
countvariable to 0. The internal buffer remains at its currently allocated size.
size
public int size()
- This method returns the number of bytes that have been written to
the buffer so far. This is the same as the value of the protected
countvariable. If theresetmethod is called, then this value is reset as well. Note that this method does not return the length of the internal buffer, but only the number of bytes that have been written to it.
toByteArray
public byte[] toByteArray()
- This method returns a byte array containing the bytes that have been
written to this stream so far. This array is a copy of the valid
bytes in the internal buffer and its length is equal to the number of
valid bytes, not necessarily to the the length of the current
internal buffer. Note that since this method allocates a new array,
it should be used with caution when the internal buffer is very large.
toString
public java.lang.String toString()
- Returns the bytes in the internal array as a
String. The bytes in the buffer are converted to characters using the system default encoding. There is an overloadedtoString()method that allows an application specified character encoding to be used.
toString
public java.lang.String toString(java.lang.String enc) throws UnsupportedEncodingException
- Returns the bytes in the internal array as a
String. The bytes in the buffer are converted to characters using the specified encoding.
toString
public java.lang.String toString(int hibyte)
- Deprecated.
- This method returns the bytes in the internal array as a
String. It uses each byte in the array as the low order eight bits of the Unicode character value and the passed in parameter as the high eight bits.This method does not convert bytes to characters in the proper way and so is deprecated in favor of the other overloaded
toStringmethods which use a true character encoding. - This method returns the bytes in the internal array as a
resize
private void resize(int add)
write
public void write(int oneByte)
- This method writes the writes the specified byte into the internal
buffer.
- Specified by:
writein classOutputStream
write
public void write(byte[] buffer,
int offset,
int add)
- This method writes
lenbytes from the passed in arraybufstarting at indexoffsetinto the internal buffer.- Overrides:
writein classOutputStream
writeTo
public void writeTo(OutputStream out) throws IOException
- This method writes all the bytes that have been written to this stream
from the internal buffer to the specified
OutputStream.
|
|||||||||
| Home >> All >> java >> [ io overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC