java.io
Class ByteArrayOutputStream
- AutoCloseable, Closeable, Flushable
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.
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
|
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.
|
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 .
|
String | toString(int hibyte)
|
String | toString(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 .
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
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
ByteArrayOutputStream
public ByteArrayOutputStream()
This method initializes a new 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
ByteArrayOutputStream
public ByteArrayOutputStream(int size)
This method initializes a new ByteArrayOutputStream
with
a specified initial buffer size.
size
- The initial buffer size in bytes
reset
public 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. 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
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.
- The number of bytes in the internal buffer
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 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 overloaded toString()
method that
allows an application specified character encoding to be used.
- toString in interface Object
- A
String
containing the data written to this
stream so far
toString
public String toString(int hibyte)
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
toString
methods which use a true character encoding.
hibyte
- The high eight bits to use for each character in
the String
- A
String
containing the data written to this
stream so far
toString
public String toString(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.
enc
- The name of the character encoding to use
- A
String
containing the data written to this
stream so far
write
public 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.
- write in interface OutputStream
buffer
- The byte array to write data fromoffset
- The index into the buffer to start writing data fromadd
- The number of bytes to write
write
public void write(int oneByte)
This method writes the writes the specified byte into the internal
buffer.
- write in interface OutputStream
oneByte
- The byte to be read passed as an int
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
.
out
- The OutputStream
to write to
BufferedReader.java
Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005
Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.