Java.io.BufferedInputStream 类

简介

Java.io.BufferedInputStream 类向另一个输入流添加了功能,能够缓冲输入并支持标记和重置方法。 以下是有关 BufferedInputStream 的要点 −

  • 在创建 BufferedInputStream 时,会创建一个内部缓冲区数组。

  • 当从流中读取或跳过字节时,内部缓冲区会根据需要从包含的输入流中重新填充,一次填充多个字节。


类声明

以下是 Java.io.BufferedInputStream 类的声明 −

public class BufferedInputStream
   extends FilterInputStream

字段

以下是 Java.io.BufferedInputStream 类的字段 −

  • protected byte[] buf − 这是存储数据的内部缓冲区数组。

  • protected int count − 这是比缓冲区中最后一个有效字节的索引大一的索引。

  • protected int marklimit − 这是在随后调用 reset 方法失败之前调用 mark 方法后允许的最大预读。

  • protected int markpos − 这是调用最后一个标记方法时 pos 字段的值。

  • protected int pos − 这是缓冲区中的当前位置。

  • protected InputStream in − 这是要过滤的输入流。


类构造函数

序号 构造函数 & 描述
1

BufferedInputStream(InputStream in)

这将创建一个 BufferedInputStream 并保存其参数,即输入流,以供以后使用。

2

BufferedInputStream(InputStream in, int size)

这将创建一个具有指定缓冲区大小的 BufferedInputStream,并保存其参数,即输入流,以供以后使用。


类方法

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

此方法返回可从此输入流中读取(或跳过)的字节数的估计值,而不会被下一次为此输入流的方法调用阻塞。

2 void close()

此方法关闭此输入流并释放与该流关联的所有系统资源。

3 void mark(int readlimit)

该方法见InputStream的mark方法的通用约定。

4 boolean markSupported()

此方法测试此输入流是否支持标记和重置方法。

5 int read()

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

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

此方法从此字节输入流中读取字节到指定的字节数组中,从给定的偏移量开始。

7 void reset()

此方法将此流重新定位到上次在此输入流上调用标记方法时的位置。

8 long skip(long n)

此方法跳过并丢弃此输入流中的 n 字节数据。


继承的方法

这个类继承了以下类的方法 −

  • Java.io.FilterInputStream
  • Java.io.Object