OutputStream的flush方法什么都不做?

时间:2012-12-03 15:22:29

标签: java io outputstream

来自OutputStream.flush()文档。

为什么它在文档中说明{em> flush方法OutputStream什么都不做后才解释它确实做了什么?非常混乱。

3 个答案:

答案 0 :(得分:12)

OutputStream是一个派生自的抽象类。子类将在必要时提供自己的实现 。否则,默认行为是什么都不做。

e.g。请参阅ObjectOutputStream.flush()

的代码

答案 1 :(得分:2)

OutputStream是一个抽象类。 如果需要刷新,派生实例必须覆盖它。 例如BufferedOutputStream
没有缓冲区的流可能不需要覆盖flush()

答案 2 :(得分:0)

案文的第一部分描述了flush的一般合同。扩展OutputStream的类预计将遵守此合同。

OutputStream是一个抽象类,但提供了flush的默认实现。如上所述,实现没有任何作用。