TP Numéro 3bis : un parser de fichiers 

Sujet du TD

Je vous propose aujourd'hui d'écrire un parser de fichier assez utile. Il permet de lire des fichiers dont chaque ligne peut : Les fichiers au format .obj, servant à décrire les objets 3d utilisés lors des TPs de synthèse d'image du second trimestre sont de ce type là.

Ici, un exemple d'utilisation dans le programme JVisu écrit par Stephane Vinter, un élève de maîtrise de l'an dernier.
 

Objets 3d et format des fichiers .obj

Un objet 3d est composé de :

Exemple de fichier .obj, le fichier cube.obj décrivant un cube 3D composé de faces triangulaires, dont un coin est tronqué

Travail à faire

Algo de lecture

Voici l'algo que je propose pour lire les fichiers dont il est objet dans ce TD :
 
TantQue (fichier non terminé)
Faire
   Si((ligne de taille non nulle) et (ligne ne commande par par '#'))
   Alors
       -je regarde par quoi la ligne commence et en fonction du mot-clé
        je lis les valeurs qui suivent ou bien je produit un message d'erreur
   FinSi
   -Je passe a la ligne suivante
FinFaire

Notes relatives à l'implémentation

Je vous conseille d'utiliser un StreamTokenizer pour faire la lecture des donnees, ou bien un DataInputStream (lecture ligne par ligne avec readLine()), couple a un StringTokenizer pour parser les lignes...