13

来自OutputStream.flush()文档。

为什么它在文档中说明flush 方法OutputStream在解释它实际上做了什么之后什么都不做?很混乱。

4

3 回答 3

16

OutputStream是要派生的抽象类。如有必要,子类将提供它们自己的实现。否则默认行为是什么都不做。

例如查看ObjectOutputStream.flush()的代码

于 2012-12-03T15:24:16.143 回答
2

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

于 2012-12-03T15:25:44.350 回答
0

正文的第一部分是描述一般合同flush。扩展的类OutputStream应遵守本合同。

OutputStream是一个抽象类,但提供了一个默认实现flush。如前所述,该实现什么也不做。

于 2012-12-03T15:27:19.937 回答