• Aucun résultat trouvé

Licence 2 - I4b Semaine du 21/05 au 01/06/2007

N/A
N/A
Protected

Academic year: 2022

Partager "Licence 2 - I4b Semaine du 21/05 au 01/06/2007"

Copied!
1
0
0

Texte intégral

(1)

Licence 2 - I4b

Semaine du 21/05 au 01/06/2007

TP 7 • Gestion des fichiers en Java

Exercice 1. Lecture de fichier en Java

1. ´Ecrire un programme qui permet de lire ligne `a ligne le contenu d’un fichier texte et qui affiche les lignes lues `a l’´ecran ;

2. Le fichier `a consid´erer dans cette seconde question est un fichier contenant des entiers. Le programme doit en afficher la somme. Utilisez les indications suivantes.

Rappel de TD :

La classeStreamTokenizerpermet de r´ealiser un analyseur lexical simple. Cette analyseur consid`ere plu- sieurs types d’unit´es lexicales (lex`eme ou tokens) :

– nombre

– mot (d´elimit´e par les espaces)

– chaˆıne de caract`eres (d´elimit´ee par des quotes) – commentaires

– EOF, EOL – etc.

On peut r´ecup´erer le type du lex`eme dans la variable d’instancettype, la valeur num´erique dansnvalet la valeur de la chaˆıne danssval. La m´ethode qui appelle l’analyseur estnextToken.

On peut red´efinir les divers caract`eres sp´eciaux qui servent de d´elimiteurs. Dans la classe, la m´ethodewordChars d´efinit les caract`eres pour les mots,resetSyntaxremet `a vide tous les caract`eres sp´eciaux,whitespaceChars d´efinit les caract`eres qui servent de d´elimiteurs pour les mots.

Les variables d’instance qui vous seront utiles dan l’exercice sont :

– double nval: contient la valeur du nombre si le lex`eme courant est un nombre ; – String sval: ce champ contient une chaˆıne de caract`eres repr´esentant ce mot, si...

– static int TT EOF: repr´esente une constante indiquant que la fin du flux a ´et´e lue ; – static int TT EOL: repr´esente une constante indiquant que la fin de la ligne a ´et´e lue ; – static int TT NUMBER: repr´esente une constante indiquant qu’un nombre a ´et´e lu ; – static int TT WORD: repr´esente une constante indiquant qu’un mot a ´et´e lu ;

– int ttype: contient le type du lex`eme venant d’ˆetre lu (suite `a un appel `a la m´ethodenextToken).

Exercice 2. Gestion de chaˆınes de caract`eres

R´ealiser un programme qui compte le nombre d’occurences des diff´erents mots d’un texte et qui affiche ensuite pour chaque mot le nombre d’occurrence trouv´ees.

Exercice 3. Structure d’acc`es et s´erialisation

R´ealiser un programme qui permet de g´erer un annuaire t´el´ephonique simple. On ne demande que les fonctions de bases et non pas la partie interface utilisateur.

1. D´efinir la structure des classesPersonneetAnnuaire;

2. `A partir de information du la documentation des API Java r´esumer les m´ethodes principales de la classe Hastable(http://depinfo.u-bourgogne.fr/docs/j2sdk-1.5.0/api/index.html) ; 3. Sachant que la classeAnnuaireest vue comme un ensemble de personne, utiliser une table de hachage

pour acc´elerer les recherches ;

4. Implanter le m´ecanisme de s´erialisation pour enregister l’annuaire et pouvoir le rechercher lors d’une nouvelle ex´ecution du programme.

Eric Leclercq —http://ludique.u- bourgogne.fr/˜leclercq— D´epartement IEM —http://ufrsciencestech.u- bourgogne.fr 1

Références

Documents relatifs

Lorsque le socket serveur accepte une demande de connexion client, il forme un nouveau socket pour se connecter au client pour que la connexion d’´ ecoute reste ouverte afin

Modifier le programme pr´ ec´ edent pour que l’on puisse ob- tenir la liste des fichiers ex´ ecutables d’un r´ epertoire pr´ ecis dont le nom est sp´ ecifi´ e en param` etre sur

D` es que le transfert des donn´ ees est termin´ e, le contrˆ oleur de p´ eriph´ erique informe l’unit´ e centrale qu’il a termin´ e son op´ eration.. Il effectue

– notify() permet `a un thread de r´eveiller un des threads qui ´etait en attente dans le wait-set de l’objet r´ecepteur de l’appel de la m´ethode.. Attention, le choix du

les p´eriph´eriques sont g´er´es par un processeur d’entr´ee/sortie qui peut travailler en mˆeme temps que le processeur et ils poss`edent tous les deux un acc`es direct `a

Pour manger, un philosophe uti- lise uniquement la fourchette plac´ee `a sa droite et celle plac´ee `a sa gauche.. Un philosophe ne prend pas une fourchette qui est d´ej`a d´etenue

Une allocation ne peut se faire qu’en m´emoire centrale ce qui signifie que si il n’y a plus de page libre dans la m´emoire centrale et qu’il reste encore des pages libres dans

Chaque rame se d´eplac¸ant de A vers B commence par utiliser les tronc¸ons T1, puis Tc, et enfin T2 puis arriv´ee en B, change de voie et repart dans l’autre sens en suivant