Les flux standards en Java

Sommaire du document

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

  1. import java.io.*;
  2.  
  3. public class FileToFile {
  4.  
  5. public static void copyFile(File fFrom,File fTo) throws IOException{
  6. PrintStream originalOut = System.out;
  7. InputStream originalIn = System.in;
  8.  
  9. InputStream sIn = new FileInputStream(fFrom);
  10.  
  11. PrintStream sOut = new PrintStream(fTo);
  12.  
  13. System.setIn(sIn);
  14. System.setOut(sOut);
  15.  
  16. while(sIn.available()>0){
  17. char c = (char)System.in.read();
  18. //print to screen
  19. System.setOut(originalOut);
  20. System.out.print(c);
  21. //print to file
  22. System.setOut(sOut);
  23. System.out.print(c);
  24. }
  25.  
  26. System.setIn(originalIn);
  27. System.setOut(originalOut);
  28. }
  29. public static void main(String[] args) {
  30. File fFrom = new File("outputFiles/first.txt");
  31. File fTo = new File("outputFiles/output.txt");
  32. try {
  33. copyFile(fFrom,fTo);
  34. } catch (IOException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. }

 

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()");.

 

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

13 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-461
Document créé le 24/06/05 00:00, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http:///www.gaudry.be/java-system-out.html
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15838 documents
455 astuces.
550 niouzes.
3107 definitions.
447 membres.
8121 messages.

Document genere en :
0,15 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
On ne peut pas empêcher les idées noires de voler au dessus de nos têtes, mais on peut les empêcher d'y faire leur nid.

Proverbe tibétain
 
l'infobrol
Nous sommes le Mercredi 24 Mai 2017, 00:29, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)