package exo2; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; public class LectureTxt { private File fichier; public LectureTxt(String s) { fichier =new File(s); System.out.println(s); if(!fichier.exists()) {System.out.println("Fichier inexistant");} } public int nbreLignes() throws IOException, FileNotFoundException{ int nb = 0; BufferedReader lectureFichier = new BufferedReader( new FileReader (fichier.getAbsolutePath())); String s = lectureFichier.readLine(); while (s!= null) { nb++; s = lectureFichier.readLine(); } lectureFichier.close(); return nb; } public void afficher() throws FileNotFoundException, IOException { BufferedReader lectureFichier = new BufferedReader( new FileReader (fichier.getAbsolutePath())); String s = lectureFichier.readLine(); while (s!= null) { System.out.println(s); s = lectureFichier.readLine(); } lectureFichier.close(); } //Version sans catch de l'exception /*public static void main(String[] args) throws FileNotFoundException, IOException{ Scanner s = new Scanner(System.in); System.out.print("Entrer le fichier a afficher : "); String cheminFichier = s.next(); LectureTxt txt = new LectureTxt(cheminFichier); System.out.println("Nombre de lignes : "+txt.nbreLignes()); System.out.println("Contenu du fichier : "); txt.afficher(); s.close(); } */ //Version avec catch de l'exception public static void main(String[] args) throws IOException{ Scanner s = new Scanner(System.in); while(true) { System.out.print("Entrer le fichier a afficher : "); String cheminFichier = s.next(); try { LectureTxt txt = new LectureTxt(cheminFichier); System.out.println("Nombre de lignes : "+txt.nbreLignes()); System.out.println("Contenu du fichier : "); txt.afficher(); break; }catch(FileNotFoundException fnf) { System.out.println("Fichier inexistant, recommencer!"); } } s.close(); } }