4. 缓冲输入输出流
缓冲输入输出流,是基于普通IO流的缓冲包装,使用更灵活。
BufferedOutputStream和BufferedOutputStream类可以通过减少读写次数来提高输入和输出的速度。
它们内部有一个缓冲区,用来提高处理效率。查看API文档,发现可以指定缓冲区的大小。
其实内部也是封装了字节数组。没有指定缓冲区大小,默认的字节是8192。
显然缓冲区输入流和缓冲区输出流要配合使用。
首先缓冲区输入流会将读取到的数据读入缓冲区,当缓冲区满时,或者调用flush方法,缓冲输出流会将数据写出。
注意:当然使用缓冲流来进行提高效率时,对于小文件可能看不到性能的提升。但是文件稍微大一些的话,就可以看到实质的性能提升了。
Reader有一个子类BufferedReader。子类继承父类显然子类可以重写父类的方法,也可以增加自己的新方法。
例如一次读一行就是常用的操作.那么BufferedReader类就提供了这个方法,可以查看readLine()方法具备一次读取一个文本行的功能。
很显然,该子类可以对功能进行增强。
注意:在使用缓冲区对象时,要明确,缓冲的存在是为了增强流的功能而存在,所以在建立缓冲区对象时,要先有流对象存在.
缓冲区的出现提高了对流的操作效率。原理:其实就是将数组进行封装。