Les flux standards en Java
Il existe des flux standards, accessibles de manière statique depuis la classe java.lang.System. Ils permettent les interactions entre le programme et l'utilisateur au travers de la console et du clavier.
Les 3 flux standards de System
System.in
public static final InputStream in
Permet de saisir les entrées clavier. En mode console, la lecture d'une ligne est une méthode bloquante : le processus est bloqué en attente que l'utilisateur presse la touche enter.... Dans la console d'Eclipse, l'affichage se fait par défaut en vert.
System.out
public static final PrintStream out
Permet d'afficher dans la console une chaîne de caractères. Dans la console d'Eclipse, l'affichage se fait par défaut en noir.
System.err
public static final PrintStream err
Permet d'afficher dans la console un message d'erreur. Dans la console d'Eclipse, l'affichage se fait par défaut en rouge.
Rediriger les flux standards
public static final InputStream in
Avant de rediriger un des flux standards, nous pouvons le maintenir sous forme de variable pour le réinitialiser par la suite.
Trois méthodes statiques de la classe System nous permettent de modifier les flux standards :
public static void setIn(InputStream in)
Utilise la source de l'InputStream passé en argument au lieu de la source du flux standard (System.in).
public static void setOut(PrintStream out)
Redirige la sortie du flux standard System.out vers le PrintStream passé en argument.
public static void setErr(PrintStream err)
Redirige la sortie du flux standard System.err vers le PrintStream passé en argument.
Exemple
Code Java (38 lignes)
import java.io.*; public class FileToFile { while(sIn.available()>0){ //print to screen //print to file } } try { copyFile(fFrom,fTo); e.printStackTrace(); } } }
Astuces eclipse
Eclipse nous propose certains raccourcis assez agréables pour de petits tests rapides d'affichage en cours de dévelloppement.
Il nous suffit d'introduire sysout, puis d'utiliser la combinaison de touches Ctrl + Space pour que notre éditeur nous génère un beau System.out.println();.
De même, syserr nous génère System.err.println();.
Plus intéressant encore, le raccourci systrace nous donne le code pour effectuer une sortie avec le nom de la classe et de la méthode comme par exemple System.out.println("CurrentBrolUser.getAvatar()");.
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 24/06/2005, last modified the 08/08/2019
Source of the printed document:https://www.gaudry.be/en/java-system-out.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.