java.lang.Object
java.io.Reader
java.io.PipedReader
- 所有已实现的接口:
-
Closeable
,AutoCloseable
,Readable
管道字符输入流。
- 自从:
- 1.1
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescription创建一个PipedReader
,使其尚未连接。PipedReader
(int pipeSize) 创建一个PipedReader
,使其尚未连接
,并使用指定的管道大小作为缓冲区。PipedReader
(PipedWriter src) 创建一个PipedReader
,使其连接到管道写入器src
。PipedReader
(PipedWriter src, int pipeSize) 创建一个PipedReader
,使其连接到管道写入器src
,并使用指定的管道大小作为缓冲区。 -
Method Summary
Methods declared in class java.io.Reader
mark, markSupported, nullReader, read, read, reset, skip, transferTo
-
Constructor Details
-
PipedReader
创建一个PipedReader
,使其连接到管道写入器src
。然后写入src
的数据将作为此流的输入可用。- 参数:
-
src
- 要连接的流。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
PipedReader
创建一个PipedReader
,使其连接到管道写入器src
,并使用指定的管道大小作为缓冲区。然后写入src
的数据将作为此流的输入可用。- 参数:
-
src
- 要连接的流。 -
pipeSize
- 管道缓冲区的大小。 - 抛出:
-
IOException
- 如果发生I/O错误。 -
IllegalArgumentException
- 如果pipeSize <= 0
。 - 自从:
- 1.6
-
PipedReader
public PipedReader() -
PipedReader
public PipedReader(int pipeSize) - 参数:
-
pipeSize
- 管道缓冲区的大小。 - 抛出:
-
IllegalArgumentException
- 如果pipeSize <= 0
。 - 自从:
- 1.6
-
-
Method Details
-
connect
导致此管道读取器连接到管道写入器src
。如果此对象已连接到其他管道写入器,则会抛出IOException
。如果
src
是未连接的管道写入器,snk
是未连接的管道读取器,则可以通过以下调用之一将它们连接:snk.connect(src)
或者通过以下调用:
src.connect(snk)
这两个调用具有相同的效果。
- 参数:
-
src
- 要连接的管道写入器。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
read
从此管道流中读取下一个数据字符。如果没有字符可用,因为已到达流的末尾,则返回值-1
。此方法将阻塞,直到有输入数据可用,检测到流的末尾,或抛出异常。- 覆盖:
-
read
在类中Reader
- 返回:
-
下一个数据字符,如果已到达流的末尾,则返回
-1
。 - 抛出:
-
IOException
- 如果管道broken
,未连接
,关闭,或发生I/O错误。
-
read
将字符读入数组的一部分。此方法将阻塞,直到有输入可用,发生I/O错误,或到达流的末尾。如果
len
为零,则不会读取任何字符,并返回0
;否则,将尝试读取至少一个字符。如果没有字符可用,因为流已到达末尾,则返回值-1
;否则,将读取至少一个字符并存储到cbuf
中。如果
len
超过管道的缓冲区大小,则将读取少于len
个字符。- 指定者:
-
read
在类中Reader
- 参数:
-
cbuf
- 目标缓冲区 -
off
- 开始存储字符的偏移量 -
len
- 要读取的最大字符数 - 返回:
- 读取的字符数,如果已到达流的末尾,则返回-1
- 抛出:
-
IndexOutOfBoundsException
- 如果off
为负,或len
为负,或len
大于cbuf.length - off
-
IOException
- 如果管道broken
,未连接
,关闭,或发生I/O错误。
-
ready
告知此流是否准备好被读取。如果循环缓冲区不为空,则管道字符流已准备就绪。- 覆盖:
-
ready
在类中Reader
- 返回:
- 如果下一个read()保证不会因为没有输入而阻塞,则为true,否则为false。请注意,返回false并不保证下一个读取将阻塞。
- 抛出:
-
IOException
- 如果管道broken
,未连接
,或关闭。
-
close
关闭此管道流并释放与该流关联的任何系统资源。- 指定者:
-
close
在接口中AutoCloseable
- 指定者:
-
close
在接口中Closeable
- 指定者:
-
close
在类中Reader
- 抛出:
-
IOException
- 如果发生I/O错误。
-