Ouvrir "passwd" dans fic en Ajout 
Ecrire(fic,maligne) 
Fermer fic 
/* Relecture */ 
Ouvrir "passwd" dans fic en Lecture 
Lire(fic,recup) 
Fermer fic 
/* On Obtient la même chose */ 
Afficher recup.login 
Afficher recup.uid 
... 
Fin
Dans le même ordre d’idée, vous pouvez parfaitement utiliser un tableau d’enregistrements pour lire tout le fichier et 
placer tous les enregistrements en mémoire. 
Programme litout 
Var 
lignes :tableau[1..50] de enrpwd 
fic :fichier séquentiel 
i :entier 
Début 
i←1 
Ouvrir "passwd" dans fic en Lecture 
Tant que NON EOF(fic) Faire 
Lire(fic,lignes[i]) 
i←i+1 
FinTantQue 
Fermer fic 
Fin
4. Exemple en Java 
Java sait manipuler les types de fichiers binaires ou texte, séquentiels ou en accès direct. Ce n’est pas très compliqué 
mais cela fait appel au même principe que la saisie au clavier, avec une gestion des exceptions lors de l’ouverture, 
l’accès et la fermeture du fichier, et aussi pour parer aux éventuelles erreurs de lecture/écriture. 
Le programme Java suivant est un exemple de lecture et de réécriture d’enregistrements avec délimiteurs, comme le 
fichier des utilisateurs d’Unix. Il fait : 
q Ouverture du fichier en lecture. 
q Lecture de chaque ligne. 
q Chaque ligne est placée dans un tableau à deux dimensions : la première est la ligne, la seconde les champs 
découpés via la méthode split(). 
q Une place est réservée pour d’éventuels traitements sur les enregistrements. 
q Ouverture du fichier de sortie en écriture. 
q Recomposition de toutes les lignes via une fonction recolle() prenant en paramètre un tableau de chaînes et le 
délimiteur. 
q Ecriture de la ligne reconstruite dans le fichier, avec un retour chariot. 
En  l’état  le  programme  ne  fait  qu’une  simple  copie.  À  vous  de  créer  les  éventuels  traitements  entre  la  lecture  et 
l’écriture. Aussi, les lignes sont placées dans un tableau de taille fixe. Peut­être serait­il plus avantageux d’utiliser des 
listes chaînées, comme expliqué dans le prochain chapitre. 
Les instructions de déclaration, d’ouverture, lecture, écriture et fermeture sont placées en gras. 
import java.io.*; 
 
- 6 -
© ENI Editions - All rigths reserved - Jonifar lina
160
Précédent

- 160/220

Suivant