请解释为什么谷歌程序员不会调用flush()
方法?
/**
* Flushes the stream and forces any buffered bytes to be written. This
* does not flush the underlying OutputStream.
*/
public void flush() throws IOException {
if (output != null) {
refreshBuffer();
}
}
这有什么隐藏的原因吗?
答案 0 :(得分:0)
因为您可能不想刷新基础流。例如,您可能只想刷新CodedOutputStream
,以便您可以安全地将其他一些数据写入基础OutputStream
,并确保它最终在CodedOutputStream
之后写入数据。在这种情况下,您可能不希望将数据写入基础文件或套接字,因为批处理数据更有效。