2016-03-18 5 views
2

Der folgende Code stammt von einem anderen Stapelüberlauf-Thread über den Unterschied zwischen PrintStream und PrintWriter.Warum druckt mein PrintWriter nicht auf der Konsole, wenn ich den Konstruktor PrintWriter (Writer out, boolean autoFlush) nicht verwende?

import java.io.*; 
public class PracticeWriter 
{ 



    public static void main(String[] args) { 
     System.out.println("Method 1"); 

     PrintWriter writer = new PrintWriter(System.out,true); 
     writer.println("Method 2"); 

    } 
    } 

Allerdings habe ich true später, als ich sah es nicht Methode der Druck 2 auf dem console.It angebliche PrintWriter(Writer out) constructor.Why drucken verwenden es nicht zu tun ist?

+0

Der Standardwert für Auto-Flush ist 'false', was bedeutet, dass Sie' flush() 'oder' close() 'aufrufen müssen (Sie nicht). – bcsb1001

Antwort

0

Ein Flush schreibt aus dem Puffer in den tatsächlichen Stream; ohne Schließen, Spülen oder automatische Spülung ist das Fehlen der Ausgabe vollständig zu erwarten. Fügen Sie einen Aufruf zum Leeren hinzu oder verwenden Sie den Konstruktor auf die Weise, wie Sie es getan haben (mit aktiviertem automatischem Löschen) - oder verwenden Sie einfach einen Versuch mit Ressourcen.