为什么在关闭缓冲区输出流之间应执行fush方法?
22.(P142-143)对于缓冲区输出流,当执行写入操作时,数据以块为单位进入缓冲区,当缓冲区的块空间被填满数据时才会真正将数据写到了输出流中。在最后一次执行写入操作后,缓冲区的块空间可能未被填满,所以此时没有将块中的数据真正的写入到输出流中,未真正的执行输出操作,此时若直接该缓冲区输出流,则块中的数据会丢失。所以,在关闭缓冲区输出流之前,应先使用flush()方法,强制将剩余的数据写入到输出流中。
为什么在关闭缓冲区输出流之间应执行fush方法?
22.(P142-143)对于缓冲区输出流,当执行写入操作时,数据以块为单位进入缓冲区,当缓冲区的块空间被填满数据时才会真正将数据写到了输出流中。在最后一次执行写入操作后,缓冲区的块空间可能未被填满,所以此时没有将块中的数据真正的写入到输出流中,未真正的执行输出操作,此时若直接该缓冲区输出流,则块中的数据会丢失。所以,在关闭缓冲区输出流之前,应先使用flush()方法,强制将剩余的数据写入到输出流中。