
Le flux d'entrée System.in est connecté à l'entrée standard qui est par défaut le clavier.
Le flux de sortie System.out est connecté à la sortie standard qui est par défaut l'écran.
Le flux de sortie System.err est connecté à la sortie standard qui est par défaut l'écran.
La classe PrintStream dérive de la classe FilterOutputStream. Elle ajoute de nouvelles
fonctionnalités à un flux de sortie, en particulier le flux out possède ainsi une méthode println
redéfinies avec plusieurs signatures ( plusieurs en-têtes différentes : byte, short, char, float,...) qui
lui permet d'écrire des entiers de toute taille, des caractères, des réels...
Vous avez pu remarquer que depuis le début nous utilisions pour afficher nos résultats,
l'instruction System.out.println(...); qui en fait correspond à l'utilisation de la méthode println
de la classe PrintStream.
Exemple d'utilisation simple des flux System.out et System.in :
public static void main(String[] args) throws IOException {
System.out.println("Appuyez sur la touche <Entrée> :"); //message écran
System.in.read( ); // attend la frappe clavier de la touche <Entrée>
}
Dans Java, le flux System.in appartient à la classe InputStream et donc il est moins bien traité
que le flux System.out et donc il n'y a pas en Java quelque chose qui ressemble à l'instruction
readln du pascal par exemple. Le manque de souplesse semble provenir du fait qu'une méthode
ne peut renvoyer son résultat de type élémentaire que par l'instruction return et il n'est pas
possible de redéfinir une méthode uniquement par le type de son résultat.
Afin de pallier à cet inconvénient il vous est fourni (ou vous devez écrire vous-même) une classe
Readln avec une méthode de lecture au clavier pour chaque type élémentaire. En mettant le
fichier Readln.class dans le même dossier que votre application vous pouvez vous servir de cette
classe pour lire au clavier dans vos programmes n'importe quelles variables de type élémentaire.
Méthodes de lecture clavier dans la classe Readln
String unstring( ) lecture clavier d'un chaîne de type String.
byte unbyte( ) lecture clavier d'un entier de type byte.
short unshort( ) lecture clavier d'un entier de type short.
int unint( ) lecture clavier d'un entier de type int.
long unlong( ) lecture clavier d'un entier de type long.
Les fondements du langage Java -
(
rév.
05.09.2004)
page 89