JAVA_IO_CharArrayReader与CharArrayWriter(四)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40646143/article/details/84256972

CharArrayReader

CharArrayReader 该类继承自Reader 

  • 该类实现了一个字符缓冲区,可以用作字符输入流。

    public static void reader() throws IOException {
        String str = "hello word";
        CharArrayReader reader = new CharArrayReader(str.toCharArray());
        char[] chars = new char[1024];
        int len;
        while ((len = reader.read(chars)) != -1){
            String s = new String(chars, 0, len);
            System.out.println(s);
        }
        //close方法不会抛出io异常
        reader.close();
    }

CharArrayWriter

CharArrayWriter 该类继承自Write

  • 实现了可以用作Writer的字符缓冲区。 当数据写入流时,缓冲区会自动增长。 可以使用toCharArray()和toString()检索数据。

  • 在此类上调用close()没有任何效果,并且流已关闭而不生成IOException时可以调用此类的方法。

返回一个String 字符串

    public static String write() throws IOException {
        String str = "hello word";
        CharArrayWriter writer = new CharArrayWriter();

        //放入一个字符串
        //writer.write(str,0,str.length());
        //还可以放入一个char数组
        writer.write(str.toCharArray());
        //在字符串上进行拼接
        writer.append("admin");


        //flush同close一样 有方法名没有具体操作
        writer.flush();
        writer.close();
        return writer.toString();

    }

联合使用如下

  public static void main(String[] args) throws IOException {
        reader(write());
    }

    public static void reader(String str) throws IOException {
        CharArrayReader reader = new CharArrayReader(str.toCharArray());
        char[] chars = new char[1024];
        int len;
        while ((len = reader.read(chars)) != -1){
            String s = new String(chars, 0, len);
            System.out.println(s);
        }
        //close方法不会抛出io异常
        reader.close();
    }

    public static String write() throws IOException {
        String str = "hello word";
        CharArrayWriter writer = new CharArrayWriter();

        //放入一个字符串
        //writer.write(str,0,str.length());
        //还可以放入一个char数组
        writer.write(str.toCharArray());
        //在字符串上进行拼接
        writer.append("admin");


        //flush同close一样 有方法名没有具体操作
        writer.flush();
        writer.close();
        return writer.toString();

    }

猜你喜欢

转载自blog.csdn.net/qq_40646143/article/details/84256972