- java.lang.Object
-
- java.io.Reader
-
- java.io.PipedReader
-
- All Implemented Interfaces:
-
Closeable,AutoCloseable,Readable
public class PipedReader extends Reader
流水字符输入流。- 从以下版本开始:
- 1.1
-
-
构造方法摘要
构造方法 Constructor 描述 PipedReader()创建一个PipedReader,使其尚未 connected 。PipedReader(int pipeSize)创建一个PipedReader,使其尚未connected,并使用指定的管道大小作为管道的缓冲区。PipedReader(PipedWriter src)创建一个PipedReader,使其连接到管道写入器src。PipedReader(PipedWriter src, int pipeSize)创建一个PipedReader,使其连接到管道写入器src并使用指定的管道大小作为管道缓冲区。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 voidclose()关闭此管道流,并释放与流相关联的任何系统资源。voidconnect(PipedWriter src)使这个管道读取器连接到管道写入器src。intread()从这个管道流读取下一个数据字符。intread(char[] cbuf, int off, int len)从这个管道流读取最多len字符的数据字符数组。booleanready()告诉这个流是否准备好阅读。
-
-
-
构造方法详细信息
-
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 。 在使用之前,它必须是PipedWriterPipedWriter。
-
PipedReader
public PipedReader(int pipeSize)
- 参数
-
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。 该方法阻塞直到输入数据可用,检测到流的结尾,或抛出异常。- 重写:
-
read在Reader - 结果
-
数据的下一个字符,如果达到流的末尾,
-1。 - 异常
-
IOException-如果管道是broken,unconnected,关闭,或发生I / O错误。
-
read
public int read(char[] cbuf, int off, int len) throws IOException从这个管道数据流读取最多len字符的字符数组。 如果达到数据流的结尾或者如果len超过了管道的缓冲区大小,则读取少于len字符。 该方法阻塞,直到输入的至少一个字符可用。- Specified by:
-
read在Reader - 参数
-
cbuf- 读取数据的缓冲区。 -
off- 数据的起始偏移量。 -
len- 读取的最大字符数。 - 结果
-
读入缓冲区的字符总数,如果没有更多的数据,因为已经到达流的末尾,那么这个字符是
-1。 - 异常
-
IOException-如果管道是broken,unconnected,关闭,或发生I / O错误。 -
IndexOutOfBoundsException- 如果发生I / O错误
-
ready
public boolean ready() throws IOException告诉这个流是否准备好阅读。 如果循环缓冲区不为空,则管道字符流就绪。- 重写:
-
ready在Reader - 结果
- 如果下一个read()保证不阻止输入,则为True,否则为false。 请注意,返回false并不能保证下一次读取将被阻止。
- 异常
-
IOException-如果管道是broken,unconnected,或关闭。
-
close
public void close() throws IOException关闭此管道流,并释放与流相关联的任何系统资源。- Specified by:
-
close在接口AutoCloseable - Specified by:
-
close在接口Closeable - Specified by:
-
close在Reader - 异常
-
IOException- 如果发生I / O错误。
-
-