📅  最后修改于: 2023-12-03 15:16:21.329000             🧑  作者: Mango
在Java中,CharArrayWriter类是一个字符流输出流,它可以将字符输出到一个字符数组中。CharArrayWriter类有一个名为toCharArray()的方法,该方法可以将CharArrayWriter流中的输出作为一个字符数组返回。在本文中,我们将介绍CharArrayWriter类及其toCharArray()方法,并提供一个示例。
CharArrayWriter类是一个字符流输出流,它使用一个字符数组作为输出的目标。CharArrayWriter类有多种构造函数,其中最常用的是以下构造函数:
public CharArrayWriter()
该构造函数创建一个新的CharArrayWriter流,缓冲区大小为默认大小。默认大小为32个字符。
CharArrayWriter类提供了多种方法来操作字符流。以下是一些常见的方法:
write(char c)
:将指定的字符写入到流中。write(char[] cbuf, int off, int len)
:将指定字符数组中的一部分写入到流中。write(String str, int off, int len)
:将指定字符串中的一部分写入到流中。flush()
:刷新流。close()
:关闭流。CharArrayWriter类还提供了一个toCharArray()方法,该方法可以将CharArrayWriter流中的输出作为一个字符数组返回。以下是该方法的语法:
public char[] toCharArray()
该方法返回一个字符数组,其中包含CharArrayWriter流中的所有字符。
下面是一个示例程序,演示使用CharArrayWriter类和toCharArray()方法将字符输出到字符数组中。
import java.io.CharArrayWriter;
public class CharArrayWriterExample {
public static void main(String[] args) {
CharArrayWriter writer = new CharArrayWriter();
String message = "Hello, world!";
try {
writer.write(message);
char[] charArray = writer.toCharArray();
System.out.println(charArray);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
writer.close();
}
}
}
程序首先创建了一个CharArrayWriter对象,然后使用write()方法将字符串"Hello, world!"写入到该对象中。接着,程序调用toCharArray()方法将该字符输出流中的字符作为一个字符数组返回。最后,程序使用System.out.println()方法将字符数组输出到控制台中。该程序的输出结果应该是:
Hello, world!
当我们调用打印charArray数组时,输出的结果和message字符串的内容是相同的。这是因为CharArrayWriter类将所有写入到它中的字符都缓存在自己内部的字符数组中,而toCharArray()方法则返回了这个字符数组。