Die Flush-Methode von OutputStream macht nichts?

8

Von OutputStream.flush() Dokumenten .

Warum gibt es hier im Dokument an, dass die Flush-Methode von OutputStream nichts macht , nachdem sie erklärt hat, dass sie tatsächlich etwas tut? Sehr verwirrend.

    
Baz 03.12.2012, 15:22
quelle

3 Antworten

10

OutputStream ist eine abstrakte Klasse, von der abgeleitet werden soll. Unterklassen stellen bei Bedarf eine eigene Implementierung bereit . Andernfalls ist das Standardverhalten, nichts zu tun.

z.B. Siehe den Code für ObjectOutputStream.flush ()

    
Brian Agnew 03.12.2012, 15:24
quelle
2

OutputStream ist eine abstrakte Klasse. Die abgeleitete Instanz muss dies überschreiben, wenn sie eine Flush benötigt. Zum Beispiel die BufferedOutputStream .
Streams, die keinen Puffer haben, müssen möglicherweise flush() nicht überschreiben.

    
AlexWien 03.12.2012 15:25
quelle
0

Der erste Teil des Textes beschreibt den allgemeinen Vertrag von flush . Es wird erwartet, dass Klassen, die OutputStream verlängern, diesen Vertrag einhalten.

OutputStream ist eine abstrakte Klasse, es wird jedoch eine Standardimplementierung von flush bereitgestellt. Wie beschrieben, tut die Implementierung nichts.

    
James Van Huis 03.12.2012 15:27
quelle

Tags und Links