BufferedInputStream详解(定义作用及方法使用)

BufferedInputStream详解(定义作用及方法使用)-mikechen

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,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

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

评论交流
    说说你的看法