📅  最后修改于: 2023-12-03 15:15:56.311000             🧑  作者: Mango
在Java中,CharArrayWriter
是一个用于将字符数据写入内存中字符数组中的输出流。该类实现了Writer
抽象类。使用该类,可以方便的将字符数据写入到内存中,然后可以将其转换成字符串或读取到其他的输出流中,如文件输出流中。
CharArrayWriter类提供了三个构造方法:
CharArrayWriter()
:创建一个初始化为空的字符数组输出流。
CharArrayWriter(int initialSize)
:创建一个初始化大小为 initialSize 的字符数组输出流。
CharArrayWriter(char[] c)
:创建一个初始化字符数组c 中的字符数据的字符数组输出流。
CharArrayWriter类提供了一系列的方法来满足写入字符数据的要求。下面是部分常用的方法:
write(int c)
:写入单个字符。
write(char[] cbuf, int off, int len)
:写入字符数组。
write(String str, int off, int len)
:写入字符串。
toCharArray()
:将输出流中的字符数据转换成字符数组。
toString()
:将输出流中的字符数据转换成字符串。
reset()
:重置输出流,清空所有已写入的字符数据。
import java.io.CharArrayWriter;
import java.io.IOException;
public class CharArrayWriterExample {
public static void main(String[] args) throws IOException {
CharArrayWriter charArrayWriter = new CharArrayWriter();
//写入单个字符
charArrayWriter.write('H');
charArrayWriter.write('e');
charArrayWriter.write('l');
charArrayWriter.write('l');
charArrayWriter.write('o');
//写入字符数组
char[] cbuf = {'W', 'o', 'r', 'l', 'd'};
charArrayWriter.write(cbuf);
//写入字符串
String str = "CharArrayWriter Example";
charArrayWriter.write(str, 1, 6);
//输出流中的字符数据转换成字符串
String data = charArrayWriter.toString();
System.out.println(data);
//输出流中的字符数据转换成字符数组
char[] charData = charArrayWriter.toCharArray();
System.out.println(charData);
//重置输出流,清空所有已写入的字符数据
charArrayWriter.reset();
//输出流中的字符数据转换成字符数组
charData = charArrayWriter.toCharArray();
System.out.println(charData);
}
}
运行结果如下:
elloWorldharArr
elloWorldharArryriter Exampl
CharArrayWriter
是一个很实用的Java IO类,它可以将字符数据写入内存中字符数组中的输出流。通过该类提供的方法,可以方便的将字符数据转换成字符数组或字符串,并且可以重置输出流、清空已写入的字符数据。这些特性使得CharArrayWriter
类在一些场景下应用非常广泛。