next up previous contents
suivant: Lecture écriture formatée monter: Types d'entrées/sorties précédent: Conversion   Table des matières

tokenizer

On peut rechercher dans le texte lu des ``tokens''. La classe StreamTokenizer forunit un analyseur lexical simple permettant de lire directement des chaînes et des nombres.



transparent
Tokenizer


import java.io.*;
class Lire{
  public static void main(String[] args)throws IOException{
    StreamTokenizer lec= new StreamTokenizer(
              new InputStreamReader(System.in));
    lec.resetSyntax();
    lec.parseNumbers();
    lec.whitespaceChars(0,' ');
    lec.wordChars('A','Z');
    lec.wordChars('a','z');
    int i;
    boolean fin=false;//...


transparent
Boucle principale


  while(! fin){
        i=lec.nextToken();
        switch (lec.ttype){
        case StreamTokenizer.TT_EOF: 
            fin=true; break;
        case StreamTokenizer.TT_NUMBER:
            i=(int) lec.nval; 
            System.out.println("lu nombre:" + i);break;
        case StreamTokenizer.TT_WORD:
            System.out.println ("lu mot:" +lec.sval);
            break;
        default: 
            System.out.println ("lu autre:" +(char)i);
        }
    }
  }
}




Hugues FAUCONNIER 2003-01-09