动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

浅析字节缓冲流

05-26 16:56 798浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Java缓冲流本身并不具有IO流的读取与写入功能,只是在别的流(节点流或其他处理流)上加上缓冲功能提高效率,就像是把别的流包装起来一样,因此缓冲流是一种处理流(包装流)。字节缓冲流是Java缓冲流的一种,字节缓冲流根据流的方向,共有2个:

写入数据到流中,字节缓冲输出流 BufferedOutputStream

读取流中的数据,字节缓冲输入流 BufferedInputStream

它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度,下面我们来分别介绍。

字节缓冲输出流BufferedOutputStream

通过字节缓冲流,进行文件的读写操作 写数据到文件的操作

java.io.BufferedOutputStream extends OutputStream

BufferedOutputStream:字节缓冲输出流

继承自父类的共性成员方法:

- public void close() :关闭此输出流并释放与此流相关联的任何系统资源。

- public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。

- public void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。

- public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。

- public abstract void write(int b) :将指定的字节输出流。

构造方法:

BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的底层输出流。

BufferedOutputStream(OutputStream out, int size) 创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。

参数:

OutputStream out:字节输出流。我们可以传递FileOutputStream,缓冲流会给FileOutputStream增加一个缓冲区,提高FileOutputStream的写入效率

int size:指定缓冲流内部缓冲区的大小,不指定默认

使用步骤(重点)

1.创建FileOutputStream对象,构造方法中绑定要输出的目的地

2.创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象对象,提高FileOutputStream对象效率

3.使用BufferedOutputStream对象中的方法write,把数据写入到内部缓冲区中

4.使用BufferedOutputStream对象中的方法flush,把内部缓冲区中的数据,刷新到文件中

5.释放资源(会先调用flush方法刷新数据,第4部可以省略)

构造方法

public BufferedOutputStream(OutputStream out)创建一个新的缓冲输出流,以将数据写入指定的底层输出流。

字节缓冲输入流 BufferedInputStream

刚刚我们学习了输出流实现了向文件中写数据的操作,那么,现在我们完成读取文件中数据的操作

java.io.BufferedInputStream extends InputStream

BufferedInputStream:字节缓冲输入流

继承自父类的成员方法:

int read()从输入流中读取数据的下一个字节。

int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。

void close() 关闭此输入流并释放与该流关联的所有系统资源。

构造方法:

BufferedInputStream(InputStream in) 创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。

BufferedInputStream(InputStream in, int size) 创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。

参数:

InputStream in:字节输入流

我们可以传递FileInputStream,缓冲流会给FileInputStream增加一个缓冲区,提高FileInputStream的读取效率

int size:指定缓冲流内部缓冲区的大小,不指定默认

使用步骤:

1.创建FileInputStream对象,构造方法中绑定要读取的数据源

2.创建BufferedInputStream对象,构造方法中传递FileInputStream对象,提高FileInputStream对象的读取效率

3.使用BufferedInputStream对象中的方法read,读取文件

4.释放资源

构造方法

public BufferedInputStream(InputStream in)

我们在了解了字节缓冲流之后,再去了解同为Java缓冲流的字符缓冲流就相对简单许多了,Java中很多的概念都有类似的联系。我们可以在动力节点在线的免费视频课程中学习到字符缓冲流的相关知识,有想法学习的小伙伴千万不要错过。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵498
程序员代码小兵498

153篇文章贡献528999字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消