Java IO:CharArrayWriter
Java的CharArrayWriter类(java.io.CharArrayWriter)可以通过Writer方法写入字符(CharArrayWriter是Writer的子类)并将写入的字符转换为char数组。 。
当我们有一个只能向Writer中写入字符的组件,但我们需要将这些字符作为char数组时,可以使用Java CharArrayWriter类。只需向该组件传递一个" CharArrayWriter",并在将所有字符写入该组件后,在" CharArrayWriter"上调用" toCharArray()"即可。
CharArrayWriter示例
这是一个简单的JavaCharArrayWriter
示例:
CharArrayWriter charArrayWriter = new CharArrayWriter(); charArrayWriter.write("CharArrayWriter"); char[] chars1 = charArrayWriter.toCharArray(); charArrayWriter.close();
这个例子首先创建一个JavaCharArrayWriter
。其次,该示例将一个字符串写入CharArrayWriter
。第三,通过在CharArrayWriter上调用toCharArray()方法,将获得的字符作为char数组获得。
注意:为清楚起见,此处已跳过适当的异常处理。要了解有关正确的异常处理的更多信息,请转到Java IO异常处理。
设置初始字符数组大小
Java的CharArrayWriter具有一个构造函数,可用于设置内部用于存储书写字符的char数组的初始大小。
设置初始大小不会阻止CharArrayWriter
存储比初始大小更多的字符。如果写入CharArrayWriter的字符数超过了初始char数组的大小,则会创建一个新的char数组,并将所有字符复制到新数组中。
这是使用CharArrayWriter
构造函数设置初始char
数组大小的样子:
int initialSize = 1024; CharArrayWriter charArrayWriter = new CharArrayWriter(initialSize);
这个示例创建一个CharArrayWriter
,其初始char
数组大小为1024.
关闭CharArrayWriter
完成将字符写入JavaCharArrayWriter
后,可以关闭。由于" CharArrayWriter"没有连接到任何底层系统资源,例如文件或者网络连接,因此关闭它并不重要。
关闭CharArrayWriter的方法是调用其close()方法。这是关闭JavaCharArrayWriter
的样子:
charArrayWriter.close();
我们还可以使用Java 7中引入的try-with-resources构造。这是如何使用try-with-resources构造使用和关闭CharArrayWriter
外观的方法:
try(CharArrayWriter charArrayWriter = new CharArrayWriter() ){ charArrayWriter.write("data 1"); charArrayWriter.write("data 2"); charArrayWriter.write("data 3"); char[] chars = charArrayWriter.toCharArray(); }
注意如何不再对CharArrayWriter实例进行任何显式的close()方法调用。 try-with-resources构造可以解决这一问题。