Java PipedReader read()方法

java.io.PipedReader.read(char[] cbuf, int off, int len) 方法读取从这个管道流中多达len个数据字符转换成字符数组。比len个字符少,如果已到达数据流的末尾,或将被读取如果len超出管道缓冲区大小。此方法一直阻塞输入至少一个字符是可用的。

1 语法

public int read(char[] cbuf, int off, int len)

2 参数

cbuf:读取数据的缓冲区。

off:数据的起始偏移量。

len:读取的最大字符数。

3 返回值

此方法返回读取到缓冲区的字符总数,如果由于到达流的末尾而没有更多数据,则返回-1。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.PipedReader.read(char[] cbuf, int off, int len)方法的例子
 */
import java.io.*;

public class Demo {
    public static void main(String[] args) {

        // create a new Piped writer and reader
        PipedWriter writer = new PipedWriter();
        PipedReader reader = new PipedReader();

        try {
            // connect the reader and the writer
            reader.connect(writer);

            // write something
            writer.write(70);
            writer.write(71);

            // read into a char array
            char[] b = new char[2];
            reader.read(b, 0, 2);

            // print the char array
            for (int i = 0; i < 2; i++) {
                System.out.println("" + b[i]);
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

输出结果为:

F
G

热门文章

优秀文章