java CharArrayReader类、CharArrayWriter类

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();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负韶华ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值