• java CharArrayReader类、CharArrayWriter类


    1、CharArrayReader类

    类型概述

    该类实现了一个可用作字符输入流的字符缓冲区,即该类可利用字符缓冲区当做字符输入流进行读取工作。

    构造方法

    CharArrayReader(char[] buf)
    
    • 1

    根据指定的字符数组创建一个字符数组流。

    CharArrayReader(char[] buf, int offset, int length)
    
    • 1

    根据指定的部分字符数组,数组从offset开始,长度为length,创建一个字符数组流。

    对象方法

    1、close函数

    void close()
    
    • 1

    关闭流。

    2、read函数

    int read()
    
    • 1

    从流中读入一个字符。

    int	read(char[] b, int off, int len)
    
    • 1

    读取最多len个字符到目标数组中,返回实际读取的字符数,当读取到缓冲区末尾时,返回-1。

    3、skip函数

    long skip(long n)
    
    • 1

    读入字符时跳过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();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    输出:

    i
    
    • 1

    2、CharArrayWriter类

    类型概述

    该类实现了一个可用作字符输出流的字符缓冲区,当数据写入流时,缓冲区自动增长,请注意在此类上调用close()无效,并且可以在流关闭后调用此类的方法而不生成IOException。

    构造函数

    CharArrayWriter()
    
    • 1

    根据默认缓冲区大小创建CharArrayWriter流对象。

    CharArrayWriter(int initialSize)
    
    • 1

    根据指定缓冲区大小创建CharArrayWriter流对象。

    对象方法

    1、close函数

    void close()
    
    • 1

    关闭CharArrayWriter流。

    2、flush函数

    void flush()
    
    • 1

    清空CharArrayWriter流。

    3、append函数

    CharArrayWriter	append(char c)
    
    • 1

    在CharArrayWriter流追加一个字符。

    CharArrayWriter	append(CharSequence csq)
    
    • 1

    在CharArrayWriter流追加一个字符序列。

    CharArrayWriter	append(CharSequence csq, int start, int end)
    
    • 1

    在CharArrayWriter流追加一个字符序列,从位置start到位置end。

    4、writer函数

    void write(char[] c, int off, int len)
    
    • 1

    向流中写入一个数组,从位置off开始,长度为len。

    void write(int c)
    
    • 1

    向流中写入一个字符。

    void write(String str, int off, int len)
    
    • 1

    向流中写入一个字符串。

    5、writeTo函数

    void writeTo(Writer out)
    
    • 1

    将缓冲区的内容写入到另一个字符输出流中。

    6、toCharArray函数

    char[] toCharArray()
    
    • 1

    将缓冲区的数据转成字符数组。

    7、toString函数

    String toString()
    
    • 1

    将缓冲区的数据转成字符串。

    使用示例

    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();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    2022年金九银十,秋招Java后端开发最全面试攻略,卷对方向,才拿得到心仪的大厂offer
    docker-compose的简单使用
    c++ 的类型别名 和 C11基于范围的for循环
    Netty P1 NIO 基础,网络编程
    C++ [](){}匿名函数
    如何通过快鲸scrm解决线索管理难、线索浪费严重等问题
    CSS基础参考笔记
    .NET 7 预览版2 中的 ASP.NET Core 更新
    CeiT:商汤提出结合CNN优势的高效ViT模型 | 2021 arxiv
    ARM体系结构基础知识--大纲
  • 原文地址:https://blog.csdn.net/weixin_49346755/article/details/125892986