En Java, pour réaliser des entrées sorties, quel que soit la communication établie et le type de données transportée, la procédure générale consiste à :
ð ouvrir un flot (« stream ») de communication ;
ð utiliser le flot pour lire ou écrire des données ;
ð fermer le flot de communication.
Dans la plupart des langages, on établi un canal de communication, en java, la différence sémantique montre que l’on s’intéresse plus aux données transportées qu’aux moyens physiques utilisés pour le faire. D’une manière générale deux grandes catégories de flots sont disponibles, les flots de données binaires et les flots de caractères. Les classes disponibles pour résoudre les entrées sorties se trouvent dans le « package » « java.io ».
Le flot de communication établi est unidirectionnel. On utilisera les classes suivantes pour :
les opérations d’écriture :
· InputStream pour les flots de données binaires ;
· Writer pour les flots de caractères ;
les opérations de lecture :
· OutputStream pour les flots de données binaires ;
· Reader pour les flots de caractères ;
Il existe des classes dérivées des quatre précédentes adaptées à chaque type de communication.
Pour les opérations standards d’entrées sorties, la classe System met à disposition les objets :
· System.in (flux standard de saisie via la console) ;
· System.out (flux standard d’affichage dans la console) ;
· Systen.err (flux de sortie d’erreur standard pour affichage des messages d’erreurs).