Module  java.base
软件包  java.io

Class PipedReader

    • 构造方法详细信息

      • PipedReader

        public PipedReader​(PipedWriter src)
                    throws IOException
        创建一个PipedReader ,使其连接到管道写入器src 写入src数据将作为此流的输入。
        参数
        src - 要连接的流。
        异常
        IOException - 如果发生I / O错误。
      • PipedReader

        public PipedReader​(PipedWriter src,
                           int pipeSize)
                    throws IOException
        创建一个PipedReader ,使其连接到管道写入器src并为管道缓冲区使用指定的管道大小。 写入src数据将作为此流的输入。
        参数
        src - 要连接的流。
        pipeSize - 管道缓冲区的大小。
        异常
        IOException - 如果发生I / O错误。
        IllegalArgumentException - 如果是 pipeSize <= 0
        从以下版本开始:
        1.6
      • PipedReader

        public PipedReader​()
        创建一个PipedReader所以它还不是connected 在使用之前,它必须是PipedWriter PipedWriter
      • PipedReader

        public PipedReader​(int pipeSize)
        创建一个PipedReader ,使它还不是connected并且使用指定的管道大小作为管道的缓冲区。 在使用前必须是connectedPipedWriter
        参数
        pipeSize - 管道缓冲区的大小。
        异常
        IllegalArgumentException - 如果是 pipeSize <= 0
        从以下版本开始:
        1.6
    • 方法详细信息

      • connect

        public void connect​(PipedWriter src)
                     throws IOException
        使这个管道读取器连接到管道写入器src 如果此对象已连接到其他管道写入器,则抛出IOException

        如果src是未连接的管道写入器,并且snk是未连接的管道读取器,则可以通过以下任一方式连接它们:

          snk.connect(src) 

        或电话:

          src.connect(snk) 

        两个电话有相同的效果。

        参数
        src - 连接到管道写入器。
        异常
        IOException - 如果发生I / O错误。
      • read

        public int read​()
                 throws IOException
        从这个管道流读取下一个数据字符。 如果没有字符可用,因为流已经到达,则返回值-1 该方法阻塞直到输入数据可用,检测到流的结尾,或抛出异常。
        重写:
        readReader
        结果
        数据的下一个字符,如果达到流的末尾, -1
        异常
        IOException -如果管道是 brokenunconnected ,关闭,或发生I / O错误。
      • read

        public int read​(char[] cbuf,
                        int off,
                        int len)
                 throws IOException
        从这个管道数据流读取最多len字符的字符数组。 如果达到数据流的结尾或者如果len超过了管道的缓冲区大小,则读取少于len字符。 该方法阻塞,直到输入的至少一个字符可用。
        Specified by:
        readReader
        参数
        cbuf - 读取数据的缓冲区。
        off - 数据的起始偏移量。
        len - 读取的最大字符数。
        结果
        读入缓冲区的字符总数,如果没有更多的数据,因为已经到达流的末尾,那么这个字符是 -1
        异常
        IOException -如果管道是 brokenunconnected ,关闭,或发生I / O错误。
        IndexOutOfBoundsException - 如果发生I / O错误
      • ready

        public boolean ready​()
                      throws IOException
        告诉这个流是否准备好阅读。 如果循环缓冲区不为空,则管道字符流就绪。
        重写:
        readyReader
        结果
        如果下一个read()保证不阻止输入,则为True,否则为false。 请注意,返回false并不能保证下一次读取将被阻止。
        异常
        IOException -如果管道是 brokenunconnected ,或关闭。