BufferedInputStream定义
BufferedInputStream 是 Java 中的一个类,它继承自 FilterInputStream 类,它实现了输入流的缓冲功能。
BufferedInputStream作用
BufferedInputStream主要作用是提供输入流的缓冲功能,从而减少读取操作的磁盘或网络访问次数,提高读取数据的效率。
BufferedInputStream方法
BufferedInputStream 类提供了许多方法,其中一些主要的方法包括:
- read():从输入流中读取一个字节,并返回读取的字节数据。
- read(byte[] b, int off, int len):从输入流中读取多个字节到指定的字节数组 b 中,从 off 索引开始,最多读取 len 个字节。
- skip(long n):跳过输入流中的指定字节数。
- available():返回当前可从输入流中读取的字节数。
- close():关闭输入流。
BufferedInputStream使用
BufferedInputStream使用,主要分为如下步骤:
1.创建底层的输入流对象
如下所示:
InputStream rawInput = new FileInputStream("example.txt");
2.创建BufferedInputStream对象
接下来,你需要创建 BufferedInputStream 对象,并将底层的输入流包装在其中。
如下所示:
BufferedInputStream bufferedInput = new BufferedInputStream(rawInput);
3.使用BufferedInputStream读取数据
如下所示:
int data = bufferedInput.read(); // 读取单个字节 byte[] buffer = new byte[1024]; int bytesRead = bufferedInput.read(buffer, 0, 1024); // 读取多个字节到缓冲区
你可以使用 read() 方法,或 read(byte[] b, int off, int len) 方法来从流中读取字节。
4.关闭流
bufferedInput.close(); rawInput.close();
BufferedInputStream总结
BufferedInputStream 对于需要频繁读取数据的情况,例如:文件读取和网络通信等,可以显著提升性能,因为它减少了 I/O 操作的次数。
但要注意,它主要适用于顺序读取,对于随机读取,它的性能提升可能有限。
mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!

后台回复【架构】即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》