java.io

接口
异常
错误
java.lang.Object
  继承者 java.io.Reader
      继承者 java.io.PipedReader
所有已实现的接口:
Closeable, Readable

public class PipedReader
     
extends Reader

传送的字符输入流。

从以下版本开始:
JDK1.1

字段摘要
 
从类 java.io.Reader 继承的字段
lock
 
构造方法摘要
PipedReader()
          创建尚未连接PipedReader
PipedReader(int pipeSize)
          创建一个尚未连接PipedReader,并对管道缓冲区使用指定的管道大小。
PipedReader(PipedWriter src)
          创建连接到传送 writer srcPipedReader
PipedReader(PipedWriter src, int pipeSize)
          创建一个 PipedReader,使其连接到管道 writer src,并对管道缓冲区使用指定的管道大小。
 
方法摘要
 void close()
          关闭此传送流并释放与该流相关的所有系统资源。
 void connect(PipedWriter src)
          使此传送 reader 连接到传送 writer src
 int read()
          读取此传送流中的下一个数据字符。
 int read(char[] cbuf, int off, int len)
          将此传送流中最多 len 个数据字符读入字符数组。
 boolean ready()
          告知是否准备读取此流。
 
从类 java.io.Reader 继承的方法
mark, markSupported, read, read, reset, skip
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

PipedReader

public PipedReader(PipedWriter src)
            throws IOException
创建连接到传送 writer srcPipedReader。写入 src 的数据稍后将用作此流的输入。

参数:
src - 要连接的流。
抛出:
IOException - 如果发生 I/O 错误。

PipedReader

public PipedReader(PipedWriter src,
                   int pipeSize)
            throws IOException
创建一个 PipedReader,使其连接到管道 writer src,并对管道缓冲区使用指定的管道大小。写入到 src 的数据将可用作此流的输入。

参数:
src - 要连接的流。
pipeSize - 管道缓冲区的大小。
抛出:
IOException - 如果发生 I/O 错误。
IllegalArgumentException - 如果 pipeSize <= 0
从以下版本开始:
1.6

PipedReader

public PipedReader()
创建尚未 连接PipedReader。使用前必须将其 连接PipedWriter


PipedReader

public PipedReader(int pipeSize)
创建一个尚未 连接PipedReader,并对管道缓冲区使用指定的管道大小。使用前必须将其 连接PipedWriter

参数:
pipeSize - 管道缓冲区的大小。
抛出:
IllegalArgumentException - 如果 pipeSize <= 0
从以下版本开始:
1.6
方法详细信息

connect

public void connect(PipedWriter src)
             throws IOException
使此传送 reader 连接到传送 writer src。如果此对象已经连接到其他某个传送 writer,则抛出 IOException

如果 src 是未连接的传送 writer,而 snk 是未连接的传送 reader,则可以通过以下调用之一连接它们:

snk.connect(src) 

或:

src.connect(snk) 

这两个调用的效果相同。

参数:
src - 要连接的传送 writer。
抛出:
IOException - 如果发生 I/O 错误。

read

public int read()
         throws IOException
读取此传送流中的下一个数据字符。如果因为已经到达流的末尾而没有可用的字符,则返回值 -1。在输入数据可用、检测到流的末尾或者抛出异常之前,此方法一直阻塞。

覆盖:
Reader 中的 read
返回:
下一个数据字符,如果到达流的末尾,则返回 -1
抛出:
IOException - 如果管道处于 broken未连接或关闭状态,或者发生 I/O 错误。

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
将此传送流中最多 len 个数据字符读入字符数组。如果已到达数据流的末尾,或者 len 超出管道缓冲区大小,则读取的字符数少于 len。此方法一直阻塞,直到至少一个输入字符可用。

指定者:
Reader 中的 read
参数:
cbuf - 读入数据的缓冲区。
off - 数据的初始偏移量。
len - 读取的最大字符数。
返回:
读入缓冲区的总字符数,如果因为已经到达流末尾而不再有数据可用,则返回 -1
抛出:
IOException - 如果管道处于 broken未连接或关闭状态,或者发生 I/O 错误。

ready

public boolean ready()
              throws IOException
告知是否准备读取此流。如果循环缓冲区不为空,则传送字符流已做好被读取的准备。

覆盖:
Reader 中的 ready
返回:
如果保证下一个 read() 不阻塞输入,则返回 True,否则返回 false。注意,返回 false 并不保证阻塞下一次读取。
抛出:
IOException - 如果管道处于 broken未连接或关闭状态。

close

public void close()
           throws IOException
关闭此传送流并释放与该流相关的所有系统资源。

指定者:
接口 Closeable 中的 close
指定者:
Reader 中的 close
抛出:
IOException - 如果发生 I/O 错误。