Java_io体系之CharArrayReader、CharArrayWriter简介

一:CharArrayReader
1、类功能简介:
字符数组输入流car 、与ByteArrayInputStream相同、用于将自带的内置缓存字符数组中的字符读取到程序中。与ByteArrayInputStream不同的是:当调用car的close方法是将内置缓存数组cbuffer设为null、而且car会抛出IOException异常(ensureOpen方法、即当cbuffer为null时则认为car关闭)。方法与使用功能与bais很相似、说白了区别就在于一个是从内置字节数组中读取字节、一个是从内置字符数组中读取字符。有一点是与bais不同的地方、就是他们的父类的区别、Reader比InputStream多实现一个Readable接口、这个接口要求提供一个方法、是将字符数组读取到指定的缓存数组中、其实完全可以用read(char[] cbuf, int off, int len)来代替实现。。。

构造方法
    CharArrayReader(char buf[]); 使用传入的buf构造CharArrayReader 
    CharArrayReader(char buf[], int offset, int length); 使用传入的buf的一部分构造CharArrayReader

一般方法
    void close(); 关闭此流、
    void mark(int readAheadLimit); 标记当前流读取的位置
    void markSupport(); 检测此流是否支持标记
    int read(); 读取一个字符、并以整数形式返回
    int read(char[] c, int off, int len); 将buf中len个字符读取到下标从off开始的b中、返回读取的字符个数
    boolean ready(); 查看CharArrayReader是否可读。
    void reset(); 将此流开始位置重置到最后一次调用mark是流的读取位置

    long skip(long n); 丢弃buf中n个字符、返回实际丢弃的字符个数



二:CharArrayWriter
1、类功能简介:
字符数组输出流、用于将字符写入到内置字符缓存数组char[] buf中、当此数组存放满员时会自动扩容、同样与ByteArrayOutputStream相比他也提供了几个操作buf中字符的方法、可使用 toCharArray() 和 toString() 获取数据、还可使用writeTo(Writer out)将buf写入到底层流中。同样在此类上调用 close()、flush()无效,不会产生IOException、并且在关闭该流后仍然可以调用此类中的各个方法。

构造方法
    public CharArrayWriter()                     使用默认的buf大小创建CharArrayWriter。 
    public CharArrayWriter(int initialSize) 使用指定的buf大小创建CharArrayWriter。

一般方法
    CharArrayWriter append(CharSequence csq) 将一串有序字符序列写入buf中
    CharArrayWriter append(CharSequence csq, int start, int end) 将一串有序字符序列的一部分写入buf中
    CharArrayWriter append(char c) 将一个字符写入buf中
    void close() 关闭此流(没有效果)
    void flush() flush此流(没有效果)
    void reset() 清空buf、重头开始
    int size() 查看当前buf中字符总数
    char[] toCharArray() 将buf中内容转换成char[]
    String toString() 将buf中字符转换成String返回
    void write(int c) 写入一个字符。
    void write(char c[], int off, int len) 将一个char[]的一部分写入buf中、若buf满、扩容。
    void write(String str, int off, int len) 将一个字符串写入buf中、满自动扩容

    void writeTo(Writer out) 将buf中现有的字节写入到subWriter(out)中



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值