JAVA基础:缓冲流

目录

前言

创建缓冲流

缓冲流的特点


前言

之前我们在使用输入流读取文件时每读一次文件就会通过输入流向程序中加载一次数据,使用输出流时,每次都要向硬盘中写入数据,如果我们读取数据的次数特别频繁就会影响性能,这种时候我们就要考虑能不能将这些数据存到一个缓冲区,当这个缓冲区满足一定的条件时再将数据写入文件或者程序,这种时候就要使用缓冲流

创建缓冲流

缓冲流分为字节输入缓冲流,字节输出缓冲流,字符输入缓冲流,字符输出缓冲流

BufferedInputStream , BufferedOutputStream , BufferedReader , BufferedWriter

FileReader r = new FileReader("c:/z/1.txt") ;
BufferedReader br = new BufferedReader(r);
BufferedReader br = new BufferedReader(r,size);

以字符缓冲流举例缓冲流是一个过程流,我们需要先重建文件字符流,通过文件字符流获得文件中的数据,然后再通过缓冲流

缓冲流有一个重载构造方法可以传递两个参数,第二个参数可以规定缓冲区的大小

对于创建缓冲流之后的使用就和之前的所有流都是一致的了

缓冲流的特点

缓冲流底层使用一个数组缓冲数据,默认的缓冲大小是8kb,我们可以在创建缓冲流对象时指定数组的长度

字符缓冲输入流(BufferedReader )有一个特殊的方法,这个方法可以实现将数据以行为单位读取,每次可以读取一行数据readLine()

对于缓冲输出流,如果缓冲区的数据满了就会将缓冲区的数据推入节点流,再由节点流将数据写入文件,如果使用缓冲输出流写一个超过缓冲区大小的数据,该数据不会缓冲,直接写入节点流

你可能感兴趣的:(java,idea)