阅读(3527) (0)

鸿蒙OS PipedReader

2022-10-17 09:45:35 更新

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 并为管道缓冲区使用指定的管道大小。

方法总结

修饰符和类型 方法 描述
void close() 关闭此管道流并释放与该流关联的任何系统资源。
void connect(PipedWriter src) 导致此管道读取器连接到管道写入器 src。
int read() 从此管道流中读取数据的下一个字符。
int read(char[] cbuf, int off, int len) 从此管道流中读取最多 len 个字符的数据到字符数组中。
boolean ready() 判断此流是否已准备好被读取。
从类 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 错误。