Java中的IO流之字节缓冲流。
1、字节缓冲流介绍
字节缓冲流是按照字节为单位进行读写的,属于高级流。由于是属于高级流,所以字节缓冲流不能单独使用,需要和低级流进行串联使用。
字节缓冲流就是在读取文件时,将读取的字节放在一块缓冲区中,等缓冲区满了之后,一次性将缓冲区中的字节进行读写操作。
注:字节缓冲流的缓冲区大小默认是8K,即:8192字节。
字节缓冲流的作用:通过块读写操作,提高文件的读写效率。
2、字节缓冲输入流
字节缓冲输入流:BufferedInputStream类,位于java.io包下。
<1>缓冲输入流构造方法
BufferedInputStream(InputStream in)
BufferedInputStream(InputSteam in, int size)
第一个参数in表示一个低级输入流。
第二个参数size表示缓冲区大小。默认8K。
<2>使用缓冲流读取文件数据
和文件流一样,读取的方法也是read()。
3、字节缓冲输出流
缓冲输出流:BufferedOutputStream类,位于java.io包下。
注:文件不存在,会先创建文件,再写出数据。
<1>缓冲输出流构造方法
BufferedOutputStream(OutputStream out)
BufferedOutputStream(OutputStream out, int size)
<2>缓冲输出流写出方法
写出方法和文件流写出方法一样,都是write()。但是缓冲流有一个特殊的方法,即:flush()方法。
flush()方法作用:一次性将缓冲区中的缓冲数据,写出到文件中。
缓冲输出流的关闭资源方法close(),该方法已经调用了flush()方法。
<3>使用缓冲流写出数据
4、关闭流连接
在所有的IO流中,都有一个close()方法,只需要调用close()即可关闭流连接。
在流的串联当中,如果有多个流连接需要关闭时,可以只关闭最层那个流连接,其他底层流连接会自动关闭。
综上,Java中IO流之字节缓冲输入输出流介绍完了。