Java : les fichiers Achref El Mouelhi Docteur de l’universit´ e d’Aix-Marseille

Java : les fichiers Achref El Mouelhi Docteur de l’universit´ e d’Aix-Marseille Chercheur en Programmation par contrainte (IA) Ing´ enieur en G´ enie logiciel elmouelhi.achref@gmail.com H & H: Research and Training 1 / 17 Plan 1 Introduction 2 ´ Ecriture 3 Lecture H & H: Research and Training 2 / 17 c ⃝Achref EL MOUELHI c ⃝ Introduction Les fichiers Les fichiers outil utilis´ e pour stocker et/ou ´ echanger les donn´ ees Pouvant ˆ etre en ´ ecriture ou en lecture H & H: Research and Training 3 / 17 c ⃝Achref EL MOUELHI c ⃝ Introduction Les fichiers Les fichiers outil utilis´ e pour stocker et/ou ´ echanger les donn´ ees Pouvant ˆ etre en ´ ecriture ou en lecture 3 ´ etapes pour la manipulation de fichiers en Java Cr´ eation ou ouverture Utilisation : ´ ecriture ou lecture Fermeture H & H: Research and Training 3 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Deux ´ etapes pour la cr´ eation d’un fichier en Java Cr´ eation logique (d´ eclaration d’un objet) Cr´ eation physique (cr´ eation sur le disque) ou ouverture si existant H & H: Research and Training 4 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Deux ´ etapes pour la cr´ eation d’un fichier en Java Cr´ eation logique (d´ eclaration d’un objet) Cr´ eation physique (cr´ eation sur le disque) ou ouverture si existant Cr´ eation logique File file = new File("fichier.txt"); Tous les imports de ce chapitre sont de java.io.*; H & H: Research and Training 4 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour cr´ eer le fichier physiquement, il faut pr´ eciser le type d’utilisation lecture, ou ´ ecriture H & H: Research and Training 5 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour cr´ eer le fichier physiquement, il faut pr´ eciser le type d’utilisation lecture, ou ´ ecriture Cr´ eation physique d’un fichier pour ´ ecriture FileWriter fw = new FileWriter(file); Remarque Ex´ ecuter le projet puis aller v´ erifier la pr´ esence d’un fichier fichier.txt dans le projet (Rafraichir le projet si le fichier n’apparaˆ ıt pas) H & H: Research and Training 5 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers On peut fusionner les deux ´ etapes pr´ ec´ edentes FileWriter fw = new FileWriter("fichier.txt"); H & H: Research and Training 6 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers On peut fusionner les deux ´ etapes pr´ ec´ edentes FileWriter fw = new FileWriter("fichier.txt"); Remarque On peut aussi ajouter un deuxi` eme param` etre bool´ een qui prend la valeur true : ´ ecrire ` a la suite si le fichier existe false (par d´ efaut) : ´ ecraser le contenu pr´ ec´ edent si le fichier existe H & H: Research and Training 6 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers On peut fusionner les deux ´ etapes pr´ ec´ edentes FileWriter fw = new FileWriter("fichier.txt"); Remarque On peut aussi ajouter un deuxi` eme param` etre bool´ een qui prend la valeur true : ´ ecrire ` a la suite si le fichier existe false (par d´ efaut) : ´ ecraser le contenu pr´ ec´ edent si le fichier existe Exemple FileWriter fw = new FileWriter("fichier.txt",true); H & H: Research and Training 6 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour ´ ecrire dans un fichier // pour ´ ecrire une chaˆ ıne de caract` ere fw.write("Hello world"); // pour ´ ecrire un entier fw.write(86); // pour ´ ecrire un caract` ere fw.write(’a’); fw.close(); // fermer le flux H & H: Research and Training 7 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour ´ ecrire dans un fichier // pour ´ ecrire une chaˆ ıne de caract` ere fw.write("Hello world"); // pour ´ ecrire un entier fw.write(86); // pour ´ ecrire un caract` ere fw.write(’a’); fw.close(); // fermer le flux Allons v´ erifier ce qui a ´ et´ e ´ ecrit Hello worldVa H & H: Research and Training 7 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour ´ ecrire dans un fichier // pour ´ ecrire une chaˆ ıne de caract` ere fw.write("Hello world"); // pour ´ ecrire un entier fw.write(86); // pour ´ ecrire un caract` ere fw.write(’a’); fw.close(); // fermer le flux Allons v´ erifier ce qui a ´ et´ e ´ ecrit Hello worldVa H & H: Research and Training 7 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour ´ ecrire ` a la ligne (mais ce n’est pas pratique) fw.write("Hello world\n"); fw.write(’a’); fw.close(); // fermer le flux H & H: Research and Training 8 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers Pour ´ ecrire ` a la ligne (mais ce n’est pas pratique) fw.write("Hello world\n"); fw.write(’a’); fw.close(); // fermer le flux Contenu du fichier Hello world a H & H: Research and Training 8 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers On peut aussi utiliser un objet de la classe BufferedWriter BufferedWriter bw = new BufferedWriter(fw); H & H: Research and Training 9 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers On peut aussi utiliser un objet de la classe BufferedWriter BufferedWriter bw = new BufferedWriter(fw); Pour ´ ecrire bw.write("Hello world"); bw.newLine(); bw.write(87); bw.newLine(); bw.write(’a’); bw.close(); // fermer le flux H & H: Research and Training 9 / 17 c ⃝Achref EL MOUELHI c ⃝ ´ Ecriture Les fichiers BufferedWriter vs FileWriter FileWriter ´ ecrit directement dans le fichier caract` ere par caract` ere BufferedWriter ´ ecrit dans un buffer puis envoie tout dans le fichier quand on appelle la m´ ethode flush ou close H & H: Research and Training 10 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Cr´ eation physique d’un fichier pour lecture FileReader fr = new FileReader(file); H & H: Research and Training 11 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Cr´ eation physique d’un fichier pour lecture FileReader fr = new FileReader(file); On peut aussi fusionner les deux ´ etapes de cr´ eation FileReader fr = new FileReader("fichier.txt"); H & H: Research and Training 11 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Pour lire un caract` ere d’un fichier int str = fr.read(); H & H: Research and Training 12 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Pour lire un caract` ere d’un fichier int str = fr.read(); Affichons ce qu’on a lu System.out.println(str); // affiche le code ASCII du caract` ere lu H & H: Research and Training 12 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Pour lire un caract` ere d’un fichier int str = fr.read(); Affichons ce qu’on a lu System.out.println(str); // affiche le code ASCII du caract` ere lu Pour afficher le caract` ere associ´ e au code ASCII lu System.out.println((char)str); // affiche le caract` ere lu H & H: Research and Training 12 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Pour lire et afficher tout le contenu du fichier int str = fr.read(); while (str != -1) { System.out.println((char)str); // affiche tous les caract` eres lus str = fr.read(); } H & H: Research and Training 13 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Pour lire et afficher tout le contenu du fichier int str = fr.read(); while (str != -1) { System.out.println((char)str); // affiche tous les caract` eres lus str = fr.read(); } Ou en plus simple while ((str = fr.read()) != -1) System.out.println(str); // affiche tous les caract` eres lus H & H: Research and Training 13 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Remarque Pour que l’on puisse lire le fichier ligne par ligne, il faut utiliser un autre objet : BufferedReader H & H: Research and Training 14 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Remarque Pour que l’on puisse lire le fichier ligne par ligne, il faut utiliser un autre objet : BufferedReader Pour instancier BufferedReader BufferedReader bufferedReader = new BufferedReader( fr); H & H: Research and Training 14 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Remarque Pour que l’on puisse lire le fichier ligne par ligne, il faut utiliser un autre objet : BufferedReader Pour instancier BufferedReader BufferedReader bufferedReader = new BufferedReader( fr); Pour lire et afficher une ligne String string = bufferedReader.readLine(); System.out.println(string); H & H: Research and Training 14 / 17 c ⃝Achref EL MOUELHI c ⃝ Lecture Les fichiers Pour lire et afficher toutes les lignes String string = bufferedReader.readLine(); while (string != null) { System.out.println(string); string = bufferedReader.readLine(); } H & H: Research and Training 15 / 17 c ⃝Achref EL uploads/Voyage/ cours-java-files.pdf

  • 38
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Dec 30, 2021
  • Catégorie Travel / Voayage
  • Langue French
  • Taille du fichier 0.1630MB