Java.io.BufferedInputStream 类



简介

Java.io.BufferedInputStream 类为另一个输入流添加了功能,即缓冲输入和支持 mark 和 reset 方法的能力。以下是关于 BufferedInputStream 的重要要点:

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

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

类声明

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

public class BufferedInputStream
   extends FilterInputStream

字段

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

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

  • protected int count - 这是缓冲区中最后一个有效字节索引加 1 的值。

  • protected int marklimit - 这是在调用 mark 方法后允许的最大读取提前量,超过此限制,后续对 reset 方法的调用将失败。

  • protected int markpos - 这是上次调用 mark 方法时 pos 字段的值。

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

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

类构造函数

序号 构造函数 & 描述
1

BufferedInputStream(InputStream in)

这将创建一个 BufferedInputStream 并保存其参数(输入流 in),以备后用。

2

BufferedInputStream(InputStream in, int size)

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

类方法

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

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

2 void close()

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

3 void mark(int readlimit)

此方法参见 InputStream 的 mark 方法的通用约定。

4 boolean markSupported()

此方法测试此输入流是否支持 mark 和 reset 方法。

5 int read()

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

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

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

7 void reset()

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

8 long skip(long n)

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

继承的方法

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

  • Java.io.FilterInputStream
  • Java.io.Object
广告