Lecture simple d’un fichier (OPEN INPUT + READ)
Ce cours montre comment lire un fichier texte ligne par ligne, de la façon la plus simple possible.
On va ouvrir le fichier amis.txt (créé dans le cours précédent), lire chaque ligne et l’afficher à l’écran.
Exemple de code : Affichage du contenu de amis.txt
IDENTIFICATION DIVISION.
PROGRAM-ID. LIRE-FICHIER-SIMPLE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT MES-AMIS ASSIGN TO "amis.txt"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD MES-AMIS.
01 LIGNE-AMIE PIC X(40).
WORKING-STORAGE SECTION.
01 FIN-FICHIER PIC X VALUE "N".
PROCEDURE DIVISION.
OPEN INPUT MES-AMIS.
PERFORM UNTIL FIN-FICHIER = "O"
READ MES-AMIS
AT END
MOVE "O" TO FIN-FICHIER
NOT AT END
DISPLAY LIGNE-AMIE
END-READ
END-PERFORM.
CLOSE MES-AMIS.
DISPLAY SPACE.
DISPLAY "Lecture terminée.".
STOP RUN.
Télécharger le code
Résultat attendu (si amis.txt existe)
Alice - Paris
Bob - Lyon
Charlie - Marseille
Lecture terminée.
Explication très simple – ligne par ligne
SELECT MES-AMIS ASSIGN TO "amis.txt" ORGANIZATION IS LINE SEQUENTIAL.
On dit : « Je veux lire le fichier amis.txt, c’est du texte ligne par ligne ».FD MES-AMIS. 01 LIGNE-AMIE PIC X(40).
Chaque ligne du fichier ira dans cette zone de 40 caractères.OPEN INPUT MES-AMIS.
Ouvre le fichier en mode lecture (INPUT).READ MES-AMIS AT END … NOT AT END
Lit une ligne :
• Si c’est la fin du fichier → on met "O" dans FIN-FICHIER pour arrêter
• Sinon → on affiche la ligne avecDISPLAYPERFORM UNTIL FIN-FICHIER = "O"
Boucle tant qu’on n’est pas à la fin du fichier.CLOSE MES-AMIS.
On ferme toujours le fichier à la fin.
À retenir (très simple) :
•
•
•
• Toujours
•
OPEN INPUT = lire un fichier existant•
READ … AT END = détecter la fin du fichier•
DISPLAY la zone pour voir la ligne lue• Toujours
CLOSE après
Exercice facile : Exécute d’abord le cours précédent pour créer amis.txt, puis lance ce programme pour le lire.
Prochain sujet simple (si tu veux) : Lire + compter combien il y a de lignes dans le fichier.