在对IO进行写操作时,我们一般都先会用到flush()方法,然后再代用close()方法关闭流。
PrintWriter out = response.getWriter();
out.write(objectMapper.writeValueAsString(ResultUtil.successOf(ResultEnum.LOGIN_ELSEWHERE)));
out.flush();
out.close();
在我们使用缓冲区进行写操作时,程序会先把数据读到缓冲区(读到内存里面),每当缓冲区数据进入满载状态时,会对数据进行一次写出。假如最后一次的数据量没有达到让缓冲区进入满载状态,这时候不主动调用flush()方法缓冲区数据将会丢失(没有写入到硬件中)。flush()方法起到强制写出的效果,在调用close()方法前,代用flush()方法,这样能保证数据完整性。