鸿蒙OS开发文档 鸿蒙OS PipedReader

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 3

PipedReader

java.lang.Object
|---java.io.Reader
|---|---java.io.PipedReader

public class PipedReader
extends Reader

管道字符输入流。

Since:

JDK1.1

字段摘要

从类 java.io.Reader 继承的字段
lock

构造函数摘要

构造函数描述
PipedReader()创建一个 PipedReader 以便它尚未连接。
PipedReader(int pipeSize)创建一个 PipedReader 以便它尚未连接并使用指定的管道大小作为管道缓冲区。
PipedReader(PipedWriter src)创建一个 PipedReader 以便它连接到管道编写器 src。
PipedReader(PipedWriter src, int pipeSize)创建一个 PipedReader 以便它连接到管道写入器 src 并为管道缓冲区使用指定的管道大小。

方法总结

修饰符和类型方法描述
voidclose()关闭此管道流并释放与该流关联的任何系统资源。
voidconnect(PipedWriter src)导致此管道读取器连接到管道写入器 src。
intread()从此管道流中读取数据的下一个字符。
intread(char[] cbuf, int off, int len)从此管道流中读取最多 len 个字符的数据到字符数组中。
booleanready()判断此流是否已准备好被读取。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从类 java.io.Reader 继承的方法
mark, markSupported, read, read, reset, skip

构造函数详细信息

PipedReader

public PipedReader(PipedWriter src) throws IOException

创建一个 PipedReader 以便它连接到管道编写器 src。 然后,写入 src 的数据将可用作此流的输入。

参数:

参数名称参数描述
src要连接的流。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。

PipedReader

public PipedReader(PipedWriter src, int pipeSize) throws IOException

创建一个 PipedReader 以便它连接到管道写入器 src 并为管道缓冲区使用指定的管道大小。 然后,写入 src 的数据将可用作此流的输入。

参数:

参数名称参数描述
src要连接的流。
pipeSize管道缓冲区的大小。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。
IllegalArgumentException如果 pipeSize <= 0.

Since:

1.6

PipedReader

public PipedReader()

创建一个 PipedReader 以便它尚未连接。 在使用之前,它必须连接到 PipedWriter。

PipedReader

public PipedReader(int pipeSize)

创建一个 PipedReader 以便它尚未连接并使用指定的管道大小作为管道缓冲区。 在使用之前,它必须连接到 PipedWriter。

参数:

参数名称参数描述
pipeSize管道缓冲区的大小。

Throws:

Throw名称Throw描述
IllegalArgumentException如果 pipeSize <= 0.

Since:

1.6

方法详情

connect

public void connect(PipedWriter src) throws IOException

导致此管道读取器连接到管道写入器 src。 如果此对象已连接到其他管道写入器,则会引发 IOException。

如果 src 是一个未连接的管道写入器,而 snk 是一个未连接的管道读取器,它们可以通过以下任一调用连接:

snk.connect(src)

或调用:

src.connect(snk)

这两个调用具有相同的效果。

参数:

参数名称参数描述
src要连接的管道编写器。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。

read

public int read() throws IOException

从此管道流中读取数据的下一个字符。 如果由于到达流的末尾而没有可用的字符,则返回值 -1。 此方法会一直阻塞,直到输入数据可用、检测到流结束或引发异常。

覆盖:

read in class Reader

返回:

数据的下一个字符,如果到达流的末尾,则为 -1。

Throws:

Throw名称Throw描述
IOException如果管道损坏、未连接、关闭或发生 I/O 错误。

read

public int read(char[] cbuf, int off, int len) throws IOException

从此管道流中读取最多 len 个字符的数据到字符数组中。 如果到达数据流的末尾或 len 超过管道的缓冲区大小,则将读取小于 len 的字符。 此方法会阻塞,直到至少有一个输入字符可用。

指定者:

在课堂阅读器中阅读

参数:

参数名称参数描述
cbuf读取数据的缓冲区。
off数据的起始偏移量。
len读取的最大字符数。

返回:

读入缓冲区的字符总数,如果由于到达流的末尾而没有更多数据,则为 -1。

Throws:

Throw名称Throw描述
IOException如果管道损坏、未连接、关闭或发生 I/O 错误。

ready

public boolean ready() throws IOException

判断此流是否已准备好被读取。 如果循环缓冲区不为空,则管道字符流已准备就绪。

覆盖:

ready in class Reader

返回:

如果保证下一个 read() 不会阻塞输入,则为 true,否则为 false。 请注意,返回 false 并不能保证下一次读取将阻塞。

Throws:

Throw名称Throw描述
IOException如果管道损坏、未连接或关闭。

close

public void close() throws IOException

关闭此管道流并释放与该流关联的任何系统资源。

指定者:

在接口 AutoCloseable 中关闭

指定者:

在接口Closeable中关闭

指定者:

close in class Reader

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。