next up previous contents index
Next: Flots de données Up: Le pattern de décoration Previous: Tampons

Flots de caractères

Les flots de caractères sont des objets de classe Reader  (flots de caractères d'entrée) ou Writer  (flots de caractères de sortie). Les méthodes read() et write() de ces classes sont analogues à celles opérant sur des flots d'octets, à la différence que c'est un caractère 16 bits qui est lu ou écrit, et non un octet.

La conversion entre un flot d'octets et un flot de caractères se fait à l'aide des classes OutputStreamWriter  et InputStreamReader . Cette conversion se fait, par décoration d'un flot d'octets :

  InputStreamReader isr = new InputStreamReader(System.in);

Cette conversion permet éventuellement de spécifier le codage utilisé (par exemple, par la chaîne "MacSymbol" s'il s'agit d'un codage MacIntosh) pour lire un fichier "toto":

 InputStreamReader isr =
   new InputStreamReader(
     new FileInputStream("toto"),
     "MacSymbol"
   );

Pour connecter un flot de caractères à un fichier, si la conversion par défaut est appropriée, il est plus simple de recourir aux classes FileWriter et FileReader, qui s'emploient de façon analogue à FileOutputStream et FileInputStream.

La classe PrintWriter permet d'écrire sur un flot de sortie des données en les représentant à l'aide de chaînes de caractères Unicode (16 bits), à l'aide des méthodes print() et println() (la représentation textuelle d'un objet est obtenue par la méthode toString() ). Pour bénéficier de ces méthodes, on doit procéder par décoration d'un objet de type Writer :

  PrintWriter pw =
    new PrintWriter(
      new FileWriter("toto"));
  ...
  pw.println("ici, un texte en caractères Oriya");


next up previous contents index
Next: Flots de données Up: Le pattern de décoration Previous: Tampons
R. Lalement
2000-10-23