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