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