flush() 是清空的意思。 一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了 close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush(),先清空数据。
fos.flush();可不是摆设。 这个方法的作用是把缓冲区的数据强行输出。如果你不flush就可能会没有真正输出 没有flush不代表它就没有输出出,只是可能没有完全输出。调用flush是保证缓存清空输出