Aujourd'hui, un collègue a rencontré quelques problèmes mineurs en utilisant System.err et System.out
Après avoir lu quelques informations, j'ai résumé :
1. explique les deux :
out : Flux de sortie "Standard". Ce flux est ouvert et prêt à accepter les données de sortie. Généralement, ce flux correspond à la sortie du moniteur ou à une autre destination de sortie spécifiée par l'environnement hôte ou l'utilisateur.
err : Flux de sortie d'erreur "Standard". Ce flux est ouvert et prêt à accepter les données de sortie. Généralement, ce flux correspond à la sortie du moniteur ou à une autre destination de sortie spécifiée par l'environnement hôte ou l'utilisateur. Par convention, ce flux de sortie est utilisé pour afficher des messages d'erreur, ou pour afficher des informations qui devraient immédiatement attirer l'attention de l'utilisateur même si le flux de sortie de l'utilisateur (la valeur de la variable out
) a été redirigé vers un fichier ou une autre destination qui est normalement pas surveillé en permanence. Autres informations.
2. Une différence entre out et err est que out est souvent mis en cache, alors que err n'est pas mis en cache (le paramètre par défaut peut être modifié). Ainsi, si vous utilisez l'erreur standard pour imprimer quelque chose, il peut être affiché immédiatement à l'écran, tandis que les impressions de sortie standard peuvent nécessiter quelques caractères supplémentaires pour être imprimées ensemble. Vous pouvez rencontrer ce problème si vous mélangez la sortie standard et l'erreur standard dans votre application.
Code de test :
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"); } }
Résultats du test : Les positions de 1 et 3 sont relativement inchangées et la position de 2 apparaît de manière aléatoire. évitez de les mélanger !
3.Si la journalisation log4j est utilisée, System.err sera enregistré et System.out ne le sera pas
ps : Printing System.err est rouge dans Eclipse. System.out est bleu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!