鸿蒙OS CharArrayWriter
CharArrayWriter
java.lang.Object
|---java.io.Writer
|---|---java.io.CharArrayWriter
public class CharArrayWriter
extends Writer
此类实现了一个可用作 Writer 的字符缓冲区。 当数据写入流时,缓冲区会自动增长。 可以使用 toCharArray() 和 toString() 检索数据。
注意:在这个类上调用 close() 没有任何效果,并且可以在流关闭后调用该类的方法而不会产生 IOException。
Since:
JDK1.1
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
protected char[] | buf | 存储数据的缓冲区。 |
protected int | count | 缓冲区中的字符数。 |
从类 java.io.Writer 继承的字段 |
---|
lock |
构造函数摘要
构造函数 | 描述 |
---|---|
CharArrayWriter() | 创建一个新的 CharArrayWriter。 |
CharArrayWriter(int initialSize) | 创建一个具有指定初始大小的新 CharArrayWriter。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
CharArrayWriter | append(char c) | 将指定的字符附加到这个 writer。 |
CharArrayWriter | append(CharSequence csq) | 将指定的字符序列附加到此编写器。 |
CharArrayWriter | append(CharSequence csq, int start, int end) | 将指定字符序列的子序列附加到此编写器。 |
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.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
从类 java.io.Writer 继承的方法 |
---|
write, write |
字段详细信息
buf
protected char[] buf
存储数据的缓冲区。
count
protected int count
缓冲区中的字符数。
构造函数详细信息
CharArrayWriter
public CharArrayWriter()
创建一个新的 CharArrayWriter。
CharArrayWriter
public CharArrayWriter(int initialSize)
创建一个具有指定初始大小的新 CharArrayWriter。
参数:
参数名称 | 参数描述 |
---|---|
initialSize | 一个 int 指定初始缓冲区大小。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 initialSize 为负 |
方法详情
write
public void write(int c)
将一个字符写入缓冲区。
覆盖:
在 Writer 类中写
参数:
参数名称 | 参数描述 |
---|---|
c | int 指定要写入的字符 |
write
public void write(char[] c, int off, int len)
将字符写入缓冲区。
指定者:
在 Writer 类中写
参数:
参数名称 | 参数描述 |
---|---|
c | 要写入的数据 |
off | 数据中的起始偏移量 |
len | 写入的字符数 |
write
public void write(String str, int off, int len)
将字符串的一部分写入缓冲区。
覆盖:
在 Writer 类中写
参数:
参数名称 | 参数描述 |
---|---|
str | 要写入的字符串 |
off | 开始读取字符的偏移量 |
len | 要写入的字符数 |
writeTo
public void writeTo(Writer out) throws IOException
将缓冲区的内容写入另一个字符流。
参数:
参数名称 | 参数描述 |
---|---|
out | 要写入的输出流 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误。 |
append
public CharArrayWriter append(CharSequence csq)
将指定的字符序列附加到此编写器。
形式为 out.append(csq) 的此方法的调用与调用的行为方式完全相同
out.write(csq.toString())
根据字符序列 csq 的 toString 规范,可能不会附加整个序列。 例如,调用字符缓冲区的 toString 方法将返回一个子序列,其内容取决于缓冲区的位置和限制。
指定者:
在接口 Appendable 中追加
覆盖:
追加到类 Writer
参数:
参数名称 | 参数描述 |
---|---|
csq | 要追加的字符序列。 如果 csq 为空,则将四个字符“null”附加到此编写器。 |
返回:
Writer
Since:
1.5
append
public CharArrayWriter append(CharSequence csq, int start, int end)
将指定字符序列的子序列附加到此编写器。
当 csq 不为空时,以 out.append(csq, start, end) 形式调用此方法的行为与调用完全相同
out.write(csq.subSequence(start, end).toString())
指定者:
在接口 Appendable 中追加
覆盖:
追加到类 Writer
参数:
参数名称 | 参数描述 |
---|---|
csq | 从中追加子序列的字符序列。 如果 csq 为 null,则将附加字符,就好像 csq 包含四个字符“null”。 |
start | 子序列中第一个字符的索引 |
end | 子序列中最后一个字符之后的字符的索引 |
返回:
Writer
Throws:
Throw名称 | Throw描述 |
---|---|
IndexOutOfBoundsException | 如果 start 或 end 为负数,则 start 大于 end,或者 end 大于 csq.length() |
Since:
1.5
append
public CharArrayWriter append(char c)
将指定的字符附加到这个 writer。
以 out.append(c) 形式调用此方法的行为与调用完全相同
out.write(c)
指定者:
在接口 Appendable 中追加
覆盖:
追加到类 Writer
参数:
参数名称 | 参数描述 |
---|---|
c | 要附加的 16 位字符 |
返回:
Writer
Since:
1.5
reset
public void reset()
重置缓冲区,以便您可以再次使用它而不会丢弃已分配的缓冲区。
toCharArray
public char[] toCharArray()
返回输入数据的副本。
返回:
从输入数据复制的字符数组。
size
public int size()
返回缓冲区的当前大小。
返回:
表示缓冲区当前大小的 int。
toString
public String toString()
将输入数据转换为字符串。
覆盖:
类 Object 中的 toString
返回:
字符串。
flush
public void flush()
冲洗流。
指定者:
在接口 Flushable 中刷新
指定者:
在 Writer 类中刷新
close
public void close()
关闭流。 此方法不会释放缓冲区,因为可能仍需要其内容。 注意:在此类中调用此方法将无效。
指定者:
在接口 AutoCloseable 中关闭
指定者:
在接口Closeable中关闭
指定者:
关闭类作家