java.io
Class CharArrayWriter
- Appendable, Closeable, Flushable
This class allows data to be written to a char array buffer and
and then retrieved by an application. The internal char 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
in increments of 1024 chars. This behavior can be over-ridden by using the
following two properties:
- gnu.java.io.CharArrayWriter.initialBufferSize
- gnu.java.io.CharArrayWriter.bufferIncrementSize
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.
protected char[] | buf - The internal buffer where the data written is stored
|
protected int | count - The number of chars that have been written to the buffer
|
CharArrayWriter() - This method initializes a new
CharArrayWriter with
the default buffer size of 32 chars.
|
CharArrayWriter(int size) - This method initializes a new
CharArrayWriter with
a specified initial buffer size.
|
CharArrayWriter | append(char c) - Appends the Unicode character,
c , to the output stream
underlying this writer.
|
CharArrayWriter | append(CharSequence cs) - Appends the specified sequence of Unicode characters to the
output stream underlying this writer.
|
CharArrayWriter | append(CharSequence cs, int start, int end) - Appends the specified subsequence of Unicode characters to the
output stream underlying this writer, starting and ending at the
specified positions within the sequence.
|
void | close() - Closes the stream.
|
void | flush() - This method flushes all buffered chars to the stream.
|
void | reset() - This method discards all of the chars 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 chars that have been written to
the buffer so far.
|
char[] | toCharArray() - This method returns a char array containing the chars that have been
written to this stream so far.
|
String | toString() - Returns the chars in the internal array as a
String .
|
void | write(char[] buffer, int offset, int len) - This method writes
len chars from the passed in array
buf starting at index offset into that buffer
|
void | write(int oneChar) - This method writes the writes the specified char into the internal
buffer.
|
void | write(String str, int offset, int len) - This method writes
len chars from the passed in
String buf starting at index
offset into the internal buffer.
|
void | writeTo(Writer out) - This method writes all the chars that have been written to this stream
from the internal buffer to the specified
Writer .
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
buf
protected char[] buf
The internal buffer where the data written is stored
count
protected int count
The number of chars that have been written to the buffer
CharArrayWriter
public CharArrayWriter()
This method initializes a new CharArrayWriter
with
the default buffer size of 32 chars. If a different initial
buffer size is desired, see the constructor
CharArrayWriter(int size)
.
CharArrayWriter
public CharArrayWriter(int size)
This method initializes a new CharArrayWriter
with
a specified initial buffer size.
size
- The initial buffer size in chars
append
public CharArrayWriter append(char c)
Appends the Unicode character, c
, to the output stream
underlying this writer. This is equivalent to write(c)
.
- append in interface Appendable
- append in interface Writer
c
- the character to append.
- a reference to this object.
append
public CharArrayWriter append(CharSequence cs)
Appends the specified sequence of Unicode characters to the
output stream underlying this writer. This is equivalent to
appending the results of calling toString()
on the
character sequence. As a result, the entire sequence may not be
appended, as it depends on the implementation of
toString()
provided by the
CharSequence
. For example, if the character
sequence is wrapped around an input buffer, the results will
depend on the current position and length of that buffer.
- append in interface Appendable
- append in interface Writer
- a reference to this object.
append
public CharArrayWriter append(CharSequence cs,
int start,
int end)
Appends the specified subsequence of Unicode characters to the
output stream underlying this writer, starting and ending at the
specified positions within the sequence. The behaviour of this
method matches the behaviour of writing the result of
append(seq.subSequence(start,end))
when the sequence
is not null.
- append in interface Appendable
- append in interface Writer
start
- the index of the first Unicode character to use from
the sequence.end
- the index of the last Unicode character to use from the
sequence.
- a reference to this object.
IndexOutOfBoundsException
- if either of the indices are negative,
the start index occurs after the end index, or the end index is
beyond the end of the sequence.
close
public void close()
Closes the stream. This method is guaranteed not to free the contents
of the internal buffer, which can still be retrieved.
- close in interface Closeable
- close in interface Writer
reset
public void reset()
This method discards all of the chars 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 chars 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 chars that have been written to it.
- The number of chars in the internal buffer
toCharArray
public char[] toCharArray()
This method returns a char array containing the chars that have been
written to this stream so far. This array is a copy of the valid
chars in the internal buffer and its length is equal to the number of
valid chars, 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 chars in the internal array as a String
. The
chars 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
write
public void write(char[] buffer,
int offset,
int len)
This method writes len
chars from the passed in array
buf
starting at index offset
into that buffer
- write in interface Writer
buffer
- The char array to write data fromoffset
- The index into the buffer to start writing data fromlen
- The number of chars to write
write
public void write(int oneChar)
This method writes the writes the specified char into the internal
buffer.
- write in interface Writer
oneChar
- The char to be read passed as an int
write
public void write(String str,
int offset,
int len)
This method writes len
chars from the passed in
String
buf
starting at index
offset
into the internal buffer.
- write in interface Writer
str
- The String
to write data fromoffset
- The index into the string to start writing data fromlen
- The number of chars to write
writeTo
public void writeTo(Writer out)
throws IOException
This method writes all the chars that have been written to this stream
from the internal buffer to the specified Writer
.
out
- The Writer
to write to
CharArrayWriter.java -- Write chars to a buffer
Copyright (C) 1998, 1999, 2001, 2002, 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.