Java.io.PipedInputStream 类



介绍

Java.io.PipedInputStream 类是一个管道输入流,可以连接到管道输出流,然后管道输入流提供写入到管道输出流的任何数据字节。以下是关于 PipedInputStream 的重要几点:

  • 管道输入流包含一个缓冲区,在一定范围内将读取操作与写入操作解耦。

  • 不建议从单个线程使用这两个对象,因为它可能会使线程死锁。

  • 如果向连接的管道输出流提供数据字节的线程不再处于活动状态,则称管道已损坏。

类声明

以下是Java.io.PipedInputStream类的声明:

public class PipedInputStream
   extends InputStream

字段

以下是Java.io.PipedInputStream类的字段:

  • protected byte[] buffer - 这是接收到的数据将放入的循环缓冲区。

  • protected int in - 这是循环缓冲区中下一个数据字节将在接收来自连接的管道输出流时存储的位置的索引。

  • protected int out - 这是循环缓冲区中此管道输入流将读取下一个数据字节的位置的索引。

  • protected static int PIPE_SIZE - 这是管道循环输入缓冲区的默认大小。

类构造函数

序号 构造函数和描述
1

PipedInputStream()

这创建一个 PipedInputStream,使其尚未连接。

2

PipedInputStream(int pipeSize)

这创建一个 PipedInputStream,使其尚未连接,并为管道的缓冲区使用指定的大小。

3

PipedInputStream(PipedOutputStream src)

这创建一个 PipedInputStream,使其连接到管道输出流 src

4

PipedInputStream(PipedOutputStream src, int pipeSize)

这创建一个 PipedInputStream,使其连接到管道输出流 src,并为管道的缓冲区使用指定的大小。

类方法

序号 方法和描述
1 int available()

此方法返回可以从此输入流读取而不会阻塞的字节数。

2 void close()

此方法关闭此管道输入流并释放与流关联的任何系统资源。

3 void connect(PipedOutputStream src)

此方法使此管道输入流连接到管道输出流 src

4 int read()

此方法从此管道输入流读取下一个数据字节。

5 int read(byte[] b, int off, int len)

此方法从此管道输入流读取最多 len 个数据字节到一个字节数组中。

6 protected void receive(int b)

此方法接收一个数据字节。

继承的方法

此类继承自以下类的方法:

  • Java.io.InputStream
  • Java.io.Object
广告