Heim  >  Artikel  >  Java  >  Einige Probleme bei der Verwendung von System.err und System.out.

Einige Probleme bei der Verwendung von System.err und System.out.

PHP中文网
PHP中文网Original
2017-06-20 10:09:271996Durchsuche

Heute ist ein Kollege auf einige kleinere Probleme bei der Verwendung von System.err und System.out gestoßen.

Nachdem ich einige Informationen gelesen habe, habe ich Folgendes zusammengefasst:

 1 erklärt beides:

out: „Standard“-Ausgabestream. Dieser Stream ist geöffnet und bereit, Ausgabedaten zu akzeptieren. Normalerweise entspricht dieser Stream der Monitorausgabe oder einem anderen Ausgabeziel, das von der Hostumgebung oder dem Benutzer angegeben wird.

err: „Standard“-Fehlerausgabestream. Dieser Stream ist geöffnet und bereit, Ausgabedaten zu akzeptieren. Normalerweise entspricht dieser Stream der Monitorausgabe oder einem anderen Ausgabeziel, das von der Hostumgebung oder dem Benutzer angegeben wird. Konventionell wird dieser Ausgabestream zum Anzeigen von Fehlermeldungen oder zum Anzeigen von Informationen verwendet, die die Aufmerksamkeit des Benutzers sofort auf sich ziehen sollten, selbst wenn der Benutzerausgabestream (der Wert der Variablen out) an eine Datei oder ein anderes Ziel umgeleitet wurde Normalerweise nicht kontinuierlich überwacht. Sonstige Informationen.

 2 Ein Unterschied zwischen out und err besteht darin, dass out oft zwischengespeichert wird, während err nicht zwischengespeichert wird (die Standardeinstellung kann geändert werden). Wenn Sie also die Standardfehlerausgabe verwenden, um etwas zu drucken, kann es sofort auf dem Bildschirm angezeigt werden, während die Standardausgabe möglicherweise einige weitere Zeichen benötigt, um zusammen gedruckt zu werden. Dieses Problem kann auftreten, wenn Sie in Ihrer Anwendung Standardausgabe und Standardfehler mischen.

Testcode:

public class Test2 {static{
        System.out.println("1");
    }public static void main(String[] args) {
        System.err.println("2");new Test2();
    }public Test2() {
        System.out.println("3");
    }
    
}

Testergebnisse: Die Positionen von 1 und 3 sind relativ unverändert und die Position von 2 erscheint zufällig Vermeiden Sie es, sie zu vermischen!

 3.Wenn die Log4j-Protokollierung verwendet wird, wird System.err protokolliert, System.out jedoch nicht

ps: Das Drucken von System.err ist in Eclipse rot. System.out ist blau.

Das obige ist der detaillierte Inhalt vonEinige Probleme bei der Verwendung von System.err und System.out.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn