返回介绍

java.io 类 PipedReader

发布于 2019-10-04 09:50:50 字数 6020 浏览 987 评论 0 收藏 0

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(PipedWritersrc)

创建连接到传送 writer srcPipedReader

方法摘要
voidclose()

关闭此传送流并释放与该流相关的所有系统资源。

voidconnect(PipedWritersrc)

使此传送 reader 连接到传送 writer src

intread()

读取此传送流中的下一个数据字符。

intread(char[]cbuf, intoff, intlen)

将此传送流中最多 len 数据字符读入字符数组。

booleanready()

告知是否准备读取此流。

从类 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(PipedWritersrc)
            throws IOException
创建连接到传送 writer srcPipedReader 。写入 src 的数据稍后将用作此流的输入。
参数:
src - 要连接的流。
抛出:
IOException - 如果发生 I/O 错误。

PipedReader

public PipedReader()
创建尚未连接的 PipedReader 。必须在使用之前将其连接到 PipedWriter
另请参见:
connect(java.io.PipedWriter) , PipedWriter.connect(java.io.PipedReader)

方法详细信息

connect

public void connect(PipedWritersrc)
             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 。在输入数据可用、检测到流的末尾或者抛出异常前,此方法一直阻塞。

如果某个线程正向连接的传送 writer 提供数据字符,但该线程不再处于活动状态,则抛出 IOException

覆盖:
Reader 中的 read
返回:
下一个数据字符,如果到达流的末尾,则返回 -1
抛出:
IOException - 如果传输管道损坏。

read

public int read(char[]cbuf,
                intoff,
                intlen)
         throws IOException
将此传送流中最多 len 数据字符读入字符数组。如果已到达数据流的末尾,则读取的字符数少于 len 。至少要有一个输入字符可用,否则将阻塞此方法。如果某个线程正向连接的传送输出提供数据字符,但该线程不再处于活动状态,则抛出 IOException
指定者:
Reader 中的 read
参数:
cbuf - 读入数据的缓冲区。
off - 数据的初始偏移量。
len - 读取的最大字符数。
返回:
读入缓冲区的总字符数,如果由于流末尾已到达而不再有数据,则返回 -1
抛出:
IOException - 如果发生 I/O 错误。

ready

public boolean ready()
              throws IOException
告知是否准备读取此流。如果循环缓冲区不空,则传送字符流已做好被读取准备。
覆盖:
Reader 中的 ready
返回:
如果保证下一个 read() 不阻塞输入,则返回 True,否则返回 false。注意,返回 false 并不保证阻塞下一次读取。
抛出:
IOException - 如果发生 I/O 错误

close

public void close()
           throws IOException
关闭此传送流并释放与该流相关的所有系统资源。
指定者:
接口 Closeable 中的 close
指定者:
Reader 中的 close
抛出:
IOException - 如果发生 I/O 错误。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文