Up Next

Compléments de l'énoncé

Lecture des options

La classe Options est fournie. Cette classe définit :

Les options -w et -d ont des valeurs par défaut pertinentes, à savoir 5 et nv.txt. Voir la lecture d'un dictionnaire pour un exemple d'usage de la classe Options.

Dictionnaires

Cette section pointe vers des fichiers qui peuvent vous servir.

Lecture des dictionnaires

Les dictionnaires sont des fichiers textes contenant un mot par ligne. Ont lit facilement ce style de fichiers textes structurés en ligne à l'aide de la classe de libraire BufferedReader. Voici un exemple, la classe Cat.

import java.io.* ; class Cat { 5 static int dump(BufferedReader b) throws IOException { String line ; int nwords = 0 ; line = b.readLine() ; 10 while (line != null) { System.out.println(line) ; line = b.readLine() ; nwords++ ; } 15 return nwords ; } public static void main(String [] argv) { Options o = new Options(argv) ; 20 try { BufferedReader b = new BufferedReader (new FileReader (o.dico)) ;// int nwords = dump(b) ; b.close() ; if (o.verbose > 0) { 25 System.err.println("Le dictionnaire " + o.dico + " contient " + nwords + " mots") ; } } catch (IOException e) { System.err.println(e.getMessage()) ; 30 System.exit(2) ; } } }

La méthode main analyse les options en construisant un objet o de la classe Options, puis ouvre le fichier-dictionnaire o.dico comme un objet de la classe BufferedReader, invoque la méthode dump (qui affiche les mots du dictionnaires un par un, tout en les comptant), et enfin affiche le compte des mots (sur la sortie d'erreur) si l'option -v a été donnée au programme.

On notera le piège à exceptions IOException et la fermeture du BufferedReader par b.close().


Up Next