两者的区别:
flush()
: 仅仅刷新缓冲区(一般写字符时用到,因为写字符时先进入缓冲区),然后将内存中的数据立刻写出(因为缓冲区是写满之后才会写出, 用flush()就不必等到缓冲区满,立刻写出)流对象还可以继续使用.
close()
: 关闭流对象. 关闭之后,流对象不可以继续使用.但是在关闭之前会刷新一次缓冲区.
关于缓冲区
:
BufferOutputStream的每次写入(write())实际上都是将内容写入到了byte[],当buffer容量上限之后,才会执行真正的磁盘写入. 并不是每写入一次就执行一次磁盘写入. 如果我们实现每一次写入就写入到磁盘的话就可以使用flush()方法.
版权声明:本文为lsy_cheer原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。