首先,声明BufferedReader里没有flush也不需要用到flush方法,你问的应该是BufferedWriter里的flush方法。
因为BufferedWriter有缓冲区,write方法写的东西都放到了缓冲区中,flush就是用来将缓冲区的东西写入到目的地。
举例来说,比如现在有5个要处理的数据,要求写到文件中。如果不用缓冲技术,那数据会等待其中一个写完再写下一个。
而利用BufferedWriter则不一样,BufferedWriter的作用就是增加了缓冲区,提高效率。因为CPU的运算速度远快于IO的写操作,
这样写文件的操作就会被缓冲,而执行下一个数据的处理,直到第5个数据被处理。这时,内存中会出现排着队等待的5个数据。
这时调用flush就会强制将这些数据写到文件中去。 |