programmation Java (école d'ingénieur) · Chapitre 14 · Exercice de TD
Numéroter les lignes
Fichiers et flux · niveau 2
Énoncé
Écrire un programme qui recopie fable.txt dans fable-numerotee.txt en ajoutant devant chaque ligne son numéro, cadré à droite sur trois caractères et suivi de deux espaces. Les deux fichiers doivent être ouverts dans un seul try-avec-ressources.
Corrigé
Path source = Path.of("fable.txt"), cible = Path.of("fable-numerotee.txt");
try (BufferedReader in = Files.newBufferedReader(source, StandardCharsets.UTF_8);
PrintWriter out = new PrintWriter(Files.newBufferedWriter(cible, StandardCharsets.UTF_8))) {
String ligne;
int n = 0;
while ((ligne = in.readLine()) != null)
out.printf("%3d %s%n", ++n, ligne);
}
1 La Cigale, ayant chanté
2 Tout l'été,
3 Se trouva fort dépourvue
4 Quand la bise fut venue :
5 Pas un seul petit morceau
6 De mouche ou de vermisseau.
Les deux ressources sont séparées par un point-virgule dans les parenthèses du try ; elles sont fermées dans l'ordre inverse (d'abord out, puis in).
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.