Previous Up Next

B.5  Entrées-sorties

Par entrées-sorties on entend au sens large la façon dont un programme lit et écrit des données, et au sens particulier l’interaction entre le programme et le système de fichiers de la machine.

Un fichier est un ensemble de données qui survit à la fin de l’exécution des programmes, et même, la plupart du temps, à l’arrêt de l’ordinateur. Les fichiers se trouvent le plus souvent sur le disque de la machine, mais ils peuvent aussi se trouver sur une disquette, ou sur le disque d’une autre machine et être accédés à travers le réseau. Un système d’exploitation tel qu’Unix, offre une abstraction des fichiers, généralement sous forme de flux (stream). Dans sa forme la plus simple le flux offre un accès séquentiel : on peut lire le prochain élément d’un flux (ce qui le consomme) ou écrire un élément dans un flux (généralement à la fin). Dans la majorité des cas (et surtout en Unix), les fichiers contiennent du texte, il est alors logique, vu de Java, de les considérer comme des flux de char. Par fichier texte, nous entendons d’abord fichier qu’un humain peut écrire, lire et comprendre, par exemple un source Java. Les fichiers qui ne s’interprètent pas ainsi sont dits binaires, par exemple une image ou un fichier de bytecode Java. Il est logique, vu de Java, de considérer les fichiers binaires comme des flux de byte. Par la suite nous ne considérons que les fichiers texte.

Quand vous lancez un programme dans une fenêtre de commandes (shell), il peut lire ce que vous tapez au clavier (flux d’entrée standard) et écrire dans la fenêtre (flux de sortie standard). Le shell permet de rediriger les flux standard vers des fichiers (par <fichier et >fichier), ce qui permet de lire et d’écrire des fichiers simplement. Enfin il existe un troisième flux standard, la sortie d’erreur standard normalement connectée à la fenêtre comme la sortie standard. Même si cela ne semble pas utile, il faut écrire les messages de diagnostic et d’erreur dedans, et nous allons voir pourquoi.


Previous Up Next