Lire un fichier en Java
Préparez un fichier texte simple note.txt dans le même dossier que votre programme. Mettez une courte ligne : oak. Ouvrez Reader.java, créez un File pour note.txt, enveloppez-le dans un Scanner, affichez nextLine(), puis close le scanner. Compilez avec javac Reader.java et lancez java Reader. L'écran doit montrer oak. Une seconde démo ouvre missing.txt et s'arrête avec FileNotFoundException. Laissez l'écriture de fichier en Java pour la page suivante — créez note.txt à la main dans un éditeur.
Lire une ligne déjà sur le disque
Les pages précédentes se sont arrêtées sur des exceptions que vous avez attrapées ou lancées. Cette page atteint des lettres qui restent dans un fichier après la fin du programme. Ouvrez un fichier d'enseignement Reader.java. Gardez le nom public Reader pour qu'il corresponde au fichier. Supprimez les démos de lancement Signal, les blocs catch Guard, les arrêts de tableau Alarm et tout Scanner qui lit le clavier avec nextLine depuis System.in. Le programme ne doit pas attendre la frappe. Lire un fichier utilise encore Scanner, mais le constructeur prend un File, pas le clavier.
Vous avez besoin de trois import en haut :
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
Marquez main avec throws FileNotFoundException pour qu'un fichier manquant apparaisse comme exception vérifiée. Dans main, nommez le fichier :
File note = new File("note.txt");
Construisez un scanner sur ce fichier :
Scanner scan = new Scanner(note);
Affichez la première ligne :
System.out.println(scan.nextLine());
Terminez la lecture :
scan.close();
Avant de compiler, créez note.txt à côté de Reader.java et tapez exactement oak sur la première ligne. Enregistrez le texte. Le programme Java ne crée pas ce fichier texte sur cette page.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Reader {
public static void main(String[] args) throws FileNotFoundException {
File note = new File("note.txt");
Scanner scan = new Scanner(note);
System.out.println(scan.nextLine());
scan.close();
}
}
Dans le dossier qui contient Reader.java et note.txt, lancez javac Reader.java. Quand parenthèses, accolades et point-virgules concordent, javac n'écrit rien. Puis java Reader — pas java Reader.java. Retirez .java de la commande de lancement. Si javac ne trouve pas File ou Scanner, les import manquent ou sont mal tapés — remettez-les avant de poursuivre d'autres erreurs.
L'écran affiche oak. Le scanner a lu la première ligne sur le disque et l'a imprimée. Le programme ne doit pas attendre le clavier. Si le terminal attend une saisie, Scanner est encore sur System.in au lieu de File note. Corrigez le constructeur. Si vous voyez empty ou une pile IllegalArgumentException, un reste Signal tourne encore — passez à java Reader avec le fichier de lecture. Si vous voyez 2 ou blocked, vous lancez encore Alarm ou Guard.
Parcourez une fois le chemin heureux. Java démarre à Reader.main. L'objet File porte le nom note.txt. Le Scanner ouvre ce nom. nextLine prend la première ligne. println montre oak. close termine le scanner. Rien d'autre ne doit s'imprimer. Sans note.txt dans le dossier, vous atteignez tôt l'histoire du fichier manquant — créez d'abord le texte.
Ici nextLine signifie la ligne suivante dans le fichier, pas une invite utilisateur. Le même nom de méthode prête à confusion après la page input : même nom, source différente. Les lettres oak vivent dans le fichier texte ; la classe Java les lit seulement.
📊 File and Scanner roles
| Piece | What it does on this page |
|---|---|
| File | holds the disk name such as note.txt |
| Scanner | reads lines from that File with nextLine |
| close | finishes the Scanner read so the file handle is released |
Un nom manquant lève FileNotFoundException
Un second programme garde la même forme mais pointe vers un nom absent de la machine : missing.txt. Ne créez pas ce fichier. L'exécution doit s'arrêter avec FileNotFoundException.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Reader {
public static void main(String[] args) throws FileNotFoundException {
File note = new File("missing.txt");
Scanner scan = new Scanner(note);
System.out.println(scan.nextLine());
scan.close();
}
}
Compilez avec javac Reader.java, puis lancez java Reader. Cette fois le programme n'imprime pas oak. Le terminal signale FileNotFoundException. La clause throws sur main laisse cette exception vérifiée sortir sans catch ici. Vous avez déjà pratiqué catch ; ici il s'agit de reconnaître qu'un nom manquant arrête la lecture. L'orthographe compte : FileNotFoundException. Dire seulement « erreur » est trop vague.
Si vous créez missing.txt par accident, supprimez-le. Préférez la démo réussie note.txt pour un écran calme avec oak. Gardez la démo manquante seulement pour voir FileNotFoundException. Changez de fichier délibérément pour ne pas mélanger succès et arrêt dans un seul main.
N'inventez pas d'écriture Java pour créer note.txt ici. Un éditeur suffit pour l'exercice de lecture. La page suivante écrit avec Java. Cette page garde une lecture claire et un arrêt clair pour nom manquant.
Comparé au throw sur Signal
Sur la page throw, java Signal s'arrêtait avec IllegalArgumentException quand les tasses étaient vides. Ici l'arrêt pour fichier manquant est FileNotFoundException, et le chemin heureux imprime une ligne du disque. Gardez les fichiers Signal comme historique ; lancez java Reader pour les démos fichier.
Les wrappers, tableaux et catch restent de l'histoire. Aujourd'hui les nouveaux jetons sont File, Scanner sur fichier, nextLine du disque et FileNotFoundException.
Ce que cette page laisse pour l'écriture
Cette page ne fait que lire un fichier existant ou s'arrêter si le nom manque. La suivante montre écrire des lettres avec Java. Restez avec la lecture de oak et le nom FileNotFoundException. N'ajoutez pas encore d'appel d'écriture obligatoire dans Reader.
Avant d'écrire des fichiers
Vous pouvez lire note.txt avec Scanner et voir oak. Vous pouvez ouvrir missing.txt et voir FileNotFoundException. Compilez Reader.java et lancez java Reader pour chaque démo. Créez note.txt à la main à côté de la classe. La page suivante écrit, où le programme stocke le texte.
Gardez la lecture réussie pour un écran calme, la démo manquante pour voir l'arrêt, et l'écriture Java hors de cette page. Quand oak apparaît après java Reader avec note.txt présent, la lecture a fait son travail et vous êtes prêts pour l'écriture.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut