|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.OutputStream java.io.ByteArrayOutputStream
public class ByteArrayOutputStream
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 |
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. |
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. |
String |
toString()
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 |
---|
protected byte[] buf
protected int count
Constructor Detail |
---|
public ByteArrayOutputStream()
ByteArrayOutputStream
with the default buffer size of 32 bytes. If a different initial
buffer size is desired, see the constructor
ByteArrayOutputStream(int size)
. For applications
where the source code is not available, the default buffer size
can be set using the system property
gnu.java.io.ByteArrayOutputStream.initialBufferSize
public ByteArrayOutputStream(int size)
ByteArrayOutputStream
with
a specified initial buffer size.
size
- The initial buffer size in bytesMethod Detail |
---|
public void reset()
count
variable to 0. The internal buffer remains at its currently
allocated size.
public int size()
count
variable. If the reset
method 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.
reset()
public byte[] toByteArray()
public String toString()
String
. The
bytes in the buffer are converted to characters using the system default
encoding. There is an overloaded toString()
method that
allows an application specified character encoding to be used.
toString
in class Object
String
containing the data written to this
stream so farObject.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)
public void write(int oneByte)
write
in class OutputStream
oneByte
- The byte to be read passed as an intpublic void write(byte[] buffer, int offset, int add)
len
bytes from the passed in array
buf
starting at index offset
into the
internal buffer.
write
in class OutputStream
buffer
- The byte array to write data fromoffset
- The index into the buffer to start writing data fromadd
- The number of bytes to writepublic void writeTo(OutputStream out) throws IOException
OutputStream
.
out
- The OutputStream
to write to
IOException
- If an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |