1、CharArrayReader类
类型概述
该类实现了一个可用作字符输入流的字符缓冲区,即该类可利用字符缓冲区当做字符输入流进行读取工作。
构造方法
CharArrayReader(char[] buf)
根据指定的字符数组创建一个字符数组流。
CharArrayReader(char[] buf, int offset, int length)
根据指定的部分字符数组,数组从offset开始,长度为length,创建一个字符数组流。
对象方法
1、close函数
void close()
关闭流。
2、read函数
int read()
从流中读入一个字符。
int read(char[] b, int off, int len)
读取最多len个字符到目标数组中,返回实际读取的字符数,当读取到缓冲区末尾时,返回-1。
3、skip函数
long skip(long n)
读入字符时跳过n个字符。
使用示例
import java.io.CharArrayReader;
import java.io.IOException;
import java.io.PrintStream;
public class Test {
public static void main(String[] args) throws IOException {
char[] c = {'t', 'h', 'i', 's'};
// 创建一个新的CharArrayReader
CharArrayReader charArrayReader = new CharArrayReader(c);
// 跳过前两个字符
charArrayReader.skip(2);
// 读取第三个字符
char a = (char)charArrayReader.read();
// 创建输出流并输出
PrintStream printStream = new PrintStream(System.out);
printStream.println(a);
charArrayReader.close();
}
}
输出:
i
2、CharArrayWriter类
类型概述
该类实现了一个可用作字符输出流的字符缓冲区,当数据写入流时,缓冲区自动增长,请注意在此类上调用close()无效,并且可以在流关闭后调用此类的方法而不生成IOException。
构造函数
CharArrayWriter()
根据默认缓冲区大小创建CharArrayWriter流对象。
CharArrayWriter(int initialSize)
根据指定缓冲区大小创建CharArrayWriter流对象。
对象方法
1、close函数
void close()
关闭CharArrayWriter流。
2、flush函数
void flush()
清空CharArrayWriter流。
3、append函数
CharArrayWriter append(char c)
在CharArrayWriter流追加一个字符。
CharArrayWriter append(CharSequence csq)
在CharArrayWriter流追加一个字符序列。
CharArrayWriter append(CharSequence csq, int start, int end)
在CharArrayWriter流追加一个字符序列,从位置start到位置end。
4、writer函数
void write(char[] c, int off, int len)
向流中写入一个数组,从位置off开始,长度为len。
void write(int c)
向流中写入一个字符。
void write(String str, int off, int len)
向流中写入一个字符串。
5、writeTo函数
void writeTo(Writer out)
将缓冲区的内容写入到另一个字符输出流中。
6、toCharArray函数
char[] toCharArray()
将缓冲区的数据转成字符数组。
7、toString函数
String toString()
将缓冲区的数据转成字符串。
使用示例
import java.io.CharArrayWriter;
import java.io.IOException;
import java.io.PrintStream;
public class Test {
public static void main(String[] args) throws IOException {
char[] c = {'t', 'h', 'i', 's'};
// 创建一个CharArrayWriter流
CharArrayWriter charArrayWriter = new CharArrayWriter();
// 将字符串写入CharArrayWriter流
charArrayWriter.write(c);
// 将CharArrayWriter流中的数据转换成字符串
String s = charArrayWriter.toString();
// 创建一个PrintStream
PrintStream printStream = new PrintStream(System.out);
// 将字符串打印到控制台
printStream.println(s);
charArrayWriter.close();
}
}