/* Texte1.java création de fichier de type texte lecture du fichier créé Ce programme permet de créer un fichier de type texte nommé "Divi720.txt" qui contient les diviseurs de 720, un diviseur par ligne. On relit le fichier et affiche seulement les diviseurs de 720 qui sont aussi des multiples de 20 */ import java.io.*; public class Texte1 { // création d'un fichier de type texte static void creerTexte(int nombre, String nomACreer) throws IOException { boolean probleme = false; FileWriter fw = null; try { fw = new FileWriter(nomACreer); } catch (java.io.FileNotFoundException erreur) { System.out.println("Problème de préparer l'écriture\n"); probleme = true; } if (!probleme) { System.out.println("Début de la création du fichier\n"); PrintWriter aCreer = new PrintWriter( fw ); for (int candidat = 1; candidat <= nombre; candidat++) if (nombre % candidat == 0) aCreer.printf("%20d\n", candidat); aCreer.close(); System.out.println("Fin de la création du fichier " + nomACreer + "\n\n"); } } static void relireFichier(String nomFichier, int k) throws IOException { boolean existeFichier = true ; // à ajuster après FileReader fr = null; // initialiser pour Java // essayer de LOCALISER le fichier à partir de son nom try { fr = new FileReader (nomFichier) ; } // intercepter l'erreur si le fichier n'existe pas catch ( java.io.FileNotFoundException erreur) { System.out.println("Probleme d'ouvrir le fichier " + nomFichier); existeFichier = false ; // ajuster } if (existeFichier) { // construire l'objet d'entrée qui va permettre // d'appliquer la lecture d'une ligne de texte System.out.printf("Les diviseurs de 720 qui sont aussi multiples de %d :\n", k); BufferedReader entree = new BufferedReader(fr); boolean finFichier = false ; while ( !finFichier ) { // lire une ligne String uneLigne = entree.readLine(); if (uneLigne == null) finFichier = true ; else { int valeur = Integer.parseInt(uneLigne.trim()); if (valeur % k ==0) System.out.println(valeur); } } entree.close(); } } public static void main (String[] args) throws IOException { creerTexte(720, "E:\\Divi720.txt"); relireFichier("E:\\Divi720.txt", 20); } } /* Exécution: --------------------Configuration: -------------------- Début de la création du fichier Fin de la création du fichier e:\Divi720.txt Les diviseurs de 720 qui sont aussi multiples de 20 : 20 40 60 80 120 180 240 360 720 Process completed. */