返回介绍

java.io 类 CharArrayWriter

发布于 2019-10-04 09:50:42 字数 10367 浏览 1007 评论 0 收藏 0

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 intcount

缓冲区中的 char 数目。

从类 java.io.Writer 继承的字段
lock
构造方法摘要
CharArrayWriter()

创建一个新的 CharArrayWriter。

CharArrayWriter(intinitialSize)

创建一个具有指定初始大小的新 CharArrayWriter。

方法摘要
CharArrayWriterappend(charc)

将指定字符追加到此 writer。

CharArrayWriterappend(CharSequencecsq)

将指定的字符序列追加到此 writer。

CharArrayWriterappend(CharSequencecsq, intstart, intend)

将指定字符序列的子序列追加到此 writer。

voidclose()

关闭该流。

voidflush()

刷新该流的缓冲。

voidreset()

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

intsize()

返回缓冲区的当前大小。

char[]toCharArray()

返回输入数据的副本。

StringtoString()

将输入数据转换为字符串。

voidwrite(char[]c, intoff, intlen)

将字符写入缓冲区。

voidwrite(intc)

将一个字符写入缓冲区。

voidwrite(Stringstr, intoff, intlen)

将字符串的某一部分写入缓冲区。

voidwriteTo(Writerout)

将缓冲区的内容写入另一个字符流。

从类 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(intinitialSize)
创建一个具有指定初始大小的新 CharArrayWriter。
参数:
initialSize - 一个指定缓冲区初始大小的 int。
抛出:
IllegalArgumentException - 如果 initialSize 为负。

方法详细信息

write

public void write(intc)
将一个字符写入缓冲区。
覆盖:
Writer 中的 write
参数:
c - 指定要写入字符的 int。

write

public void write(char[]c,
                  intoff,
                  intlen)
将字符写入缓冲区。
指定者:
Writer 中的 write
参数:
c - 要写入的数据
off - 数据中的起始偏移量
len - 写入的 char 数目

write

public void write(Stringstr,
                  intoff,
                  intlen)
将字符串的某一部分写入缓冲区。
覆盖:
Writer 中的 write
参数:
str - 要写入的字符串
off - 开始读取字符处的偏移量
len - 要写入的字符数

writeTo

public void writeTo(Writerout)
             throws IOException
将缓冲区的内容写入另一个字符流。
参数:
out - 要写入的输出流
抛出:
IOException - 如果发生 I/O 错误。

append

public CharArrayWriter append(CharSequencecsq)
将指定的字符序列追加到此 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(CharSequencecsq,
                              intstart,
                              intend)
将指定字符序列的子序列追加到此 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(charc)
将指定字符追加到此 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文