java.io

接口
异常
错误
java.lang.Object
  继承者 java.io.Writer
      继承者 java.io.CharArrayWriter
所有已实现的接口:
Closeable, Flushable, Appendable

public class CharArrayWriter
     
extends Writer

此类实现一个可用作 Writer 的字符缓冲区。缓冲区会随向流中写入数据而自动增长。可使用 toCharArray() 和 toString() 获取数据。

注:在此类上调用 close() 无效,并且在关闭该流后可以调用此类中的各个方法,而不会产生任何 IOException。

从以下版本开始:
JDK1.1

字段摘要
protected  char[] buf
          存储数据的缓冲区。
protected  int count
          缓冲区中的 char 数目。
 
从类 java.io.Writer 继承的字段
lock
 
构造方法摘要
CharArrayWriter()
          创建一个新的 CharArrayWriter。
CharArrayWriter(int initialSize)
          创建一个具有指定初始大小的新 CharArrayWriter。
 
方法摘要
 CharArrayWriter append(char c)
          将指定字符添加到此 writer。
 CharArrayWriter append(CharSequence csq)
          将指定的字符序列添加到此 writer。
 CharArrayWriter append(CharSequence csq, int start, int end)
          将指定字符序列的子序列添加到此 writer。
 void close()
          关闭该流。
 void flush()
          刷新该流的缓冲。
 void reset()
          重置该缓冲区,以便再次使用它而无需丢弃已分配的缓冲区。
 int size()
          返回缓冲区的当前大小。
 char[] toCharArray()
          返回输入数据的副本。
 String toString()
          将输入数据转换为字符串。
 void write(char[] c, int off, int len)
          将字符写入缓冲区。
 void write(int c)
          将一个字符写入缓冲区。
 void write(String str, int off, int len)
          将字符串的某一部分写入缓冲区。
 void writeTo(Writer out)
          将缓冲区的内容写入另一个字符流。
 
从类 java.io.Writer 继承的方法
write, write
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

buf

protected char[] buf
存储数据的缓冲区。


count

protected int count
缓冲区中的 char 数目。

构造方法详细信息

CharArrayWriter

public CharArrayWriter()
创建一个新的 CharArrayWriter。


CharArrayWriter

public CharArrayWriter(int initialSize)
创建一个具有指定初始大小的新 CharArrayWriter。

参数:
initialSize - 一个指定缓冲区初始大小的 int。
抛出:
IllegalArgumentException - 如果 initialSize 为负。
方法详细信息

write

public void write(int c)
将一个字符写入缓冲区。

覆盖:
Writer 中的 write
参数:
c - 指定要写入字符的 int。

write

public void write(char[] c,
                  int off,
                  int len)
将字符写入缓冲区。

指定者:
Writer 中的 write
参数:
c - 要写入的数据
off - 数据中的起始偏移量
len - 写入的 char 数目

write

public void write(String str,
                  int off,
                  int len)
将字符串的某一部分写入缓冲区。

覆盖:
Writer 中的 write
参数:
str - 要写入的字符串
off - 开始读取字符处的偏移量
len - 要写入的字符数

writeTo

public void writeTo(Writer out)
             throws IOException
将缓冲区的内容写入另一个字符流。

参数:
out - 要写入的输出流
抛出:
IOException - 如果发生 I/O 错误。

append

public CharArrayWriter append(CharSequence csq)
将指定的字符序列添加到此 writer。

out.append(csq) 形式调用此方法与以下调用具有完全相同的行为:

out.write(csq.toString()) 

可能不会添加整个序列,这取决于针对字符序列 csqtoString 规范。例如,调用一个字符缓冲区的 toString 方法将返回一个子序列,其内容取决于缓冲区的位置和限制。

指定者:
接口 Appendable 中的 append
覆盖:
Writer 中的 append
参数:
csq - 要添加的字符序列。如果 csqnull,则向此 writer 添加四个字符 "null"
返回:
此 writer
从以下版本开始:
1.5

append

public CharArrayWriter append(CharSequence csq,
                              int start,
                              int end)
将指定字符序列的子序列添加到此 writer。

csq 不为 null 时,以 out.append(csq, start, end) 形式调用此方法与以下调用具有完全相同的行为:

     out.write(csq.subSequence(start, end).toString()) 

指定者:
接口 Appendable 中的 append
覆盖:
Writer 中的 append
参数:
csq - 其子序列将被添加的字符序列。如果 csqnull,则添加四个字符 "null",就好像 csq 包含这些字符一样。
start - 子序列中第一个字符的索引
end - 子序列中最后一个字符后面的字符的索引
返回:
此 writer
抛出:
IndexOutOfBoundsException - 如果 startend 为负, start 大于 end 或者 end 大于 csq.length()
从以下版本开始:
1.5

append

public CharArrayWriter append(char c)
将指定字符添加到此 writer。

out.append(c) 形式调用此方法与以下调用具有完全相同的行为:

     out.write(c) 

指定者:
接口 Appendable 中的 append
覆盖:
Writer 中的 append
参数:
c - 要添加的 16 位字符
返回:
此 writer
从以下版本开始:
1.5

reset

public void reset()
重置该缓冲区,以便再次使用它而无需丢弃已分配的缓冲区。


toCharArray

public char[] toCharArray()
返回输入数据的副本。

返回:
复制输入数据所得到的 char 数组。

size

public int size()
返回缓冲区的当前大小。

返回:
表示缓冲区当前大小的 int 值。

toString

public String toString()
将输入数据转换为字符串。

覆盖:
Object 中的 toString
返回:
字符串。

flush

public void flush()
刷新该流的缓冲。

指定者:
接口 Flushable 中的 flush
指定者:
Writer 中的 flush

close

public void close()
关闭该流。此方法并不释放缓冲区,因为仍然可能需要其内容。注:在此类中调用此方法无效。

指定者:
接口 Closeable 中的 close
指定者:
Writer 中的 close