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,因此它尚未连接。

2

管道输入流(int 管道大小)

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

3

管道输入流(管道输出流src)

这将创建一个 PipedInputStream ,以便它连接到管道输出流src

4

PipedInputStream(PipedOutputStream src, int pipelineSize)

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

类方法

先生。 方法及说明
1 int 可用()

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

2 无效关闭()

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

3 无效连接(PipedOutputStream src)

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

4 int 读取()

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

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

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

6 受保护的无效接收(int b)

该方法接收一个字节的数据。

继承的方法

该类继承了以下类的方法 -

  • Java.io.InputStream
  • Java.io.对象