[JAVA] Lecture d'un fichier texte

Lecture d'un fichier texte [JAVA] - Java - Programmation

Marsh Posté le 12-06-2002 à 10:00:38    

Pouvez-vous m'éclairer sur les classes à mettre en oeuvre pour lire le contenu d'un fichier texte.
Suis-je obligé de passer par un FileInputStream ou existe-t-il une méthode qui permette de charger facilement tout un fichier dans une variable que je pourrais ensuite traiter.
Merci d'avance pour votre aide.


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 10:00:38   

Reply

Marsh Posté le 12-06-2002 à 10:14:11    

Probablement pas la meilleure méthode
 

Code :
  1. // filePath contains the full path to the file to read.
  2. // var will contain the content of the file.
  3. String var = null;
  4. File f = new File(filePath);
  5. try {
  6.     StringWriter sw = new StringWriter();
  7.     FileReader in = new FileReader(f);
  8.     int buffSize = 1024;
  9.     char[] buff = new char[buffSize];
  10.     int cr = -1;
  11.     while ((cr = in.read(buff, 0, buff.length)) != -1) {
  12.           sw.write(buff, 0, cr);
  13.     }
  14.     in.close();
  15.     var = sw.toString();
  16. }
  17. catch (IOException ioe) {
  18.     m_logCat.error("IO Error while initializing job's template", ioe);
  19. }


 
si tu as des questions ...


Message édité par darklord le 06-12-2002 à 10:14:59

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 10:26:37    

Merci mon maitre (hé oué, moi aussi chui un de tes boulays).
Je vais tester, et je te tiens au courant si ca marche nickel ou si j'ai des soucis.


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 10:27:13    

je suis un peu en retard, mais bon ...
j'ai pas envie d'avoir tapé tout ca opur rien ... ;)
 

Code :
  1. import java.io.*;
  2. public class FileUtils {
  3.    public static int BUFFER_SIZE = 100;
  4.    public static String file2String(File file) throws IOException {
  5.       Reader in = new BufferedReader(new FileReader(file));
  6.       StringBuffer buf = new StringBuffer((int) file.length());
  7.       char chars[] = new char[BUFFER_SIZE];
  8.       int nbCharsRead = in.read(chars, 0, chars.length);
  9.       while (nbCharsRead  != -1) {
  10.          buf.append(chars, 0, nbCharsRead);
  11.          nbCharsRead  = in.read(chars, 0, chars.length);
  12.       }
  13.       return buf.toString();
  14.    }
  15.    public static void main (String[] args) throws IOException{     
  16.       System.out.println(file2String(new File("FileUtils.java" )));
  17.    }
  18. }


Message édité par benou le 06-12-2002 à 10:36:37
Reply

Marsh Posté le 12-06-2002 à 10:40:11    

cybervince a écrit a écrit :

Merci mon maitre (hé oué, moi aussi chui un de tes boulays).




 
 :??:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 10:40:11    

benou a écrit a écrit :

je suis un peu en retard, mais bon ...
j'ai pas envie d'avoir tapé tout ca opur rien ... ;)
 

Code :
  1. import java.io.*;
  2. public class FileUtils {
  3.    public static int BUFFER_SIZE = 100;
  4.    public static String file2String(File file) throws IOException {
  5.       Reader in = new BufferedReader(new FileReader(file));
  6.       StringBuffer buf = new StringBuffer((int) file.length());
  7.       char chars[] = new char[BUFFER_SIZE];
  8.       int nbCharsRead = in.read(chars, 0, chars.length);
  9.       while (nbCharsRead  != -1) {
  10.          buf.append(chars, 0, nbCharsRead);
  11.          nbCharsRead  = in.read(chars, 0, chars.length);
  12.       }
  13.       return buf.toString();
  14.    }
  15.    public static void main (String[] args) throws IOException{     
  16.       System.out.println(file2String(new File("FileUtils.java" )));
  17.    }
  18. }

 




Je te remercie, je vais aussi essayer de mettre ta méthode en oeuvre


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 10:41:29    

DarkLord a écrit a écrit :

 
 
 :??:  




http://forum.hardware.fr/forum2.ph [...] subcat=390


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 10:43:46    

DarkLord a écrit a écrit :

Probablement pas la meilleure méthode
 

Code :
  1. // filePath contains the full path to the file to read.
  2. // var will contain the content of the file.
  3. String var = null;
  4. File f = new File(filePath);
  5. try {
  6.     StringWriter sw = new StringWriter();
  7.     FileReader in = new FileReader(f);
  8.     int buffSize = 1024;
  9.     char[] buff = new char[buffSize];
  10.     int cr = -1;
  11.     while ((cr = in.read(buff, 0, buff.length)) != -1) {
  12.           sw.write(buff, 0, cr);
  13.     }
  14.     in.close();
  15.     var = sw.toString();
  16. }
  17. catch (IOException ioe) {
  18.     m_logCat.error("IO Error while initializing job's template", ioe);
  19. }


 
si tu as des questions ...  




 
OHOH  :non:

Reply

Marsh Posté le 12-06-2002 à 10:44:41    

cybervince a écrit a écrit :

 
http://forum.hardware.fr/forum2.ph [...] subcat=390  




 :heink:  
ca n a pas été officialisé...

Reply

Marsh Posté le 12-06-2002 à 10:45:20    

greg@freestarthu a écrit a écrit :

 
OHOH  :non:  




qu'est ce qui va pas dans le code de dark ?

Reply

Marsh Posté le 12-06-2002 à 10:45:20   

Reply

Marsh Posté le 12-06-2002 à 10:47:26    

benou a écrit a écrit :

 
qu'est ce qui va pas dans le code de dark ?  




rien il va bien mais...

Reply

Marsh Posté le 12-06-2002 à 10:48:49    

benou a écrit a écrit :

 
qu'est ce qui va pas dans le code de dark ?  




 
c'est un code que j'ai écrit pendant mes heures de bureaux. Mais je l'avais déjà fait avant c'est juste que je suis fainéant et qu'on a CVS donc ...
 
greg >>> un problème?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 10:52:42    

DarkLord a écrit a écrit :

 
 
c'est un code que j'ai écrit pendant mes heures de bureaux. Mais je l'avais déjà fait avant c'est juste que je suis fainéant et qu'on a CVS donc ...
 
greg >>> un problème?  




non non, perso je m'en tape:)

Reply

Marsh Posté le 12-06-2002 à 10:53:55    

greg@freestarthu a écrit a écrit :

 
non non, perso je m'en tape:)  




 
et puis il est dans eConf aussi et sur un CVS public en license GPL. Donc on peut très bie aller là bas mais j'étais trop fainéant (le code est presque identique si je me souviens bien)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 10:54:33    

DarkLord a écrit a écrit :

 
 
et puis il est dans eConf aussi et sur un CVS public en license GPL. Donc on peut très bie aller là bas mais j'étais trop fainéant (le code est presque identique si je me souviens bien)  




oui mais le m_ ne trompera personne ;)

Reply

Marsh Posté le 12-06-2002 à 10:55:33    

veryfree a écrit a écrit :

 
 :heink:  
ca n a pas été officialisé...  



Et puis c'était pas DarkLord qui t'avais demandé c'est la lignée Harko-moi-very !


---------------
Le site de ma maman
Reply

Marsh Posté le 12-06-2002 à 10:55:49    

Alors j'ai tapé ca:

Code :
  1. import java.io.*;
  2. class lectureFichier
  3. {
  4.    // filePath contains the full path to the file to read.
  5.    // var will contain the content of the file.
  6.  String filePath = "conf_dtw.txt";
  7.    String var = null;
  8.    File f = new File(filePath);
  9.    try {
  10.         StringWriter sw = new StringWriter();
  11.         FileReader in = new FileReader(f);
  12.         int buffSize = 1024;
  13.         char[] buff = new char[buffSize];
  14.         int cr = -1;
  15.         while ((cr = in.read(buff, 0, buff.length)) != -1) {
  16.                 sw.write(buff, 0, cr);
  17.         }
  18.         in.close();
  19.         var = sw.toString();
  20.    }
  21.    catch (IOException ioe) {
  22.         m_logCat.error("IO Error while initializing job's template", ioe);
  23.    }
  24. }


 
Et j'obtient les erreurs suivantes:

Code :
  1. Compiling C:\CapDec\lectureFichier.java
  2. C:\CapDec\lectureFichier.java:19: illegal start of type
  3.    try {
  4.         ^
  5. C:\CapDec\lectureFichier.java:33: <identifier> expected
  6.    }
  7.          ^
  8. 2 errors
  9. Finished


J'ai un peu de mal avec JAVA moi, chui sur c tout con, mé je trouve po


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 11:02:53    

cybervince a écrit a écrit :

Alors j'ai tapé des conneries :D



Code :
  1. import java.io.*;
  2. public class LectureFichier
  3. {
  4.      private static String readFile(String filePath) {
  5. // filePath contains the full path to the file to read.
  6.    // var will contain the content of the file.
  7.    String var = null;
  8.    File f = new File(filePath);
  9.    try {
  10.         StringWriter sw = new StringWriter();
  11.         FileReader in = new FileReader(f);
  12.         int buffSize = 1024;
  13.         char[] buff = new char[buffSize];
  14.         int cr = -1;
  15.         while ((cr = in.read(buff, 0, buff.length)) != -1) {
  16.                 sw.write(buff, 0, cr);
  17.         }
  18.         in.close();
  19.         var = sw.toString();
  20.    }
  21.    catch (IOException ioe) {
  22.              ioe.printStackTrace();
  23.  }
  24.       public static void main(String args[]) {
  25.           System.out.println("Reading file: "+args[0]);
  26.           System.out.println(readFile(args[0]);
  27.       }
  28. }


Message édité par darklord le 06-12-2002 à 11:04:05

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:22:15    

cybervince a écrit a écrit :

Alors j'ai tapé ca:
[...]
J'ai un peu de mal avec JAVA moi, chui sur c tout con, mé je trouve po  




t'as pas un peu de mal, t'as beaucoup de mal. T'as mit le code directement dans la classe : y a pas de méthode.
 
Tu passes par la case http://penserenjava.free.fr, tu ne gagne pas 20.000 F

Reply

Marsh Posté le 12-06-2002 à 11:24:53    

y a un prblème d'accolade et de return qui manque dans ton code dark ...
 
cybervice > te fais pas chier : prends ma classe tel quelle. Elle compile et elle marche !


Message édité par benou le 06-12-2002 à 11:29:20
Reply

Marsh Posté le 12-06-2002 à 11:25:24    

benou a écrit a écrit :

cybervice


:lol:


---------------
Le site de ma maman
Reply

Marsh Posté le 12-06-2002 à 11:26:06    

Donc j'ai corrigé les quelques petits soucis qu'il y avait.

Code :
  1. import java.io.*;
  2.  
  3.   public class lectureFichier
  4.   {
  5.          private static String readFile(String filePath) {
  6.          // filePath contains the full path to the file to read.
  7.          // var will contain the content of the file.
  8.          String var = null;
  9.          File f = new File(filePath);
  10.          try {
  11.                 StringWriter sw = new StringWriter();
  12.                 FileReader in = new FileReader(f);
  13.                 int buffSize = 1024;
  14.                 char[] buff = new char[buffSize];
  15.                 int cr = -1;
  16.                 while ((cr = in.read(buff, 0, buff.length)) != -1) {
  17.                           sw.write(buff, 0, cr);
  18.                 }
  19.                 in.close();
  20.                 var = sw.toString();
  21.          }
  22.          catch (IOException ioe) {
  23.                      ioe.printStackTrace();
  24.          }
  25.     return var;
  26.       }
  27.             public static void main(String[] args)
  28.      {
  29.                   System.out.println("Reading file: "+args[0]);
  30.                   System.out.println(readFile(args[0]));
  31.             }
  32.    }


Ca compile sans problème, par contre lorsque je passe en parametre le chemin du fichier à lire (C:\CapDec\conf_dtw.txt) j'obtient ca:

Code :
  1. Starting application C:\CapDec\lectureFichier.class
  2. Reading file: C:\CapDec\conf_dtw.txt
  3. java.io.FileNotFoundException: C:\CapDec\conf_dtw.txt (Le fichier spécifié est introuvable)
  4. at java.io.FileInputStream.open(Native Method)
  5. at java.io.FileInputStream.<init>(FileInputStream.java:64)
  6. at java.io.FileInputStream.<init>(FileInputStream.java:95)
  7. at java.io.FileReader.<init>(FileReader.java:50)
  8. at lectureFichier.readFile(lectureFichier.java:12)
  9. at lectureFichier.main(lectureFichier.java:31)
  10. null
  11. Interactive Session Ended


Je pense que ca viens de la syntaxe du chemin du fichier, mais j'ai déjà tenté de plrs manières. Laquelle est censé être la bonne ?


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 11:26:26    

Cherrytree a écrit a écrit :

:lol:  




je me demandais si quelqu'un le verrait :D  
:jap:

Reply

Marsh Posté le 12-06-2002 à 11:28:22    

il veut pas le prendre mon code ... pourtant il marche du 1er coup !!!

Reply

Marsh Posté le 12-06-2002 à 11:30:11    

benou a écrit a écrit :

 
je me demandais si quelqu'un le verrait :D  
:jap:  



Bon dieu, c'est qu'il avait fait exprès le bougre. :lol:


---------------
Le site de ma maman
Reply

Marsh Posté le 12-06-2002 à 11:30:22    

c'est passez clair ?
 
 java.io.FileNotFoundException: C:\CapDec\conf_dtw.txt (Le fichier spécifié est introuvable)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:30:53    

Cherrytree a écrit a écrit :

Bon dieu, c'est qu'il avait fait exprès le bougre. :lol:  




 
 
 :??:  :??:  :??:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:31:11    

DarkLord a écrit a écrit :

 
 
 
 :??:  :??:  :??:  



Regarde 2 ou 3 posts plus haut !


---------------
Le site de ma maman
Reply

Marsh Posté le 12-06-2002 à 11:31:14    

DarkLord a écrit a écrit :

c'est passez clair ?
 
 java.io.FileNotFoundException: C:\CapDec\conf_dtw.txt (Le fichier spécifié est introuvable)  




:??: quel peut bien être la signification de cette erreur ??? :??:  
 
 
 
 
:D

Reply

Marsh Posté le 12-06-2002 à 11:31:56    

benou a écrit a écrit :

 
cybervice > ...



 
 
 [:xp1700]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:34:26    

DarkLord a écrit a écrit :

 
 
 
 [:xp1700]  



Il a compris. :D


---------------
Le site de ma maman
Reply

Marsh Posté le 12-06-2002 à 11:35:02    

DarkLord a écrit a écrit :

c'est passez clair ?
 
 java.io.FileNotFoundException: C:\CapDec\conf_dtw.txt (Le fichier spécifié est introuvable)  




Ben si, c'est super clair, mais ce que je me demande, c'est quelle est la syntaxe du chemin qu'il faut donner.
Pour info, la classe de Benou marche nickel, mais quand je veux qu'il lise mon fichier, ca me mets la même erreur de FileNotFound.


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 11:35:37    

cybervince a écrit a écrit :

 
Ben si, c'est super clair, mais ce que je me demande, c'est quelle est la syntaxe du chemin qu'il faut donner.
Pour info, la classe de Benou marche nickel, mais quand je veux qu'il lise mon fichier, ca me mets la même erreur de FileNotFound.  




 
bin ton fichier existe pas que veux tu que je te dises de plus moi


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:38:17    

je viens de compiler le code que tu as mis dans ton dernier post et j'ai fait ca
 
java LectureFichier d:\triggers.sql
 
j'ai un fichier triggers.sql dans la racine du D
 
ca fonctionne ...  :heink:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:38:57    

ce qui soit dit en passant ne m'étonne pas ...
 
Tu es sûr que tu t'es pas planté dans l'ortho de ton fichier ou sa localisation ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:40:43    

DarkLord a écrit a écrit :

 
Tu es sûr que tu t'es pas planté dans l'ortho de ton fichier ou sa localisation ?  




je parie un euro que non ...


Message édité par benou le 06-12-2002 à 11:40:55
Reply

Marsh Posté le 12-06-2002 à 11:47:57    

benou a écrit a écrit :

 
je parie un euro que non ...  




ce qui signifie? Quel pourrait être le problème selon toi?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 11:51:01    

Ca y est, j'ai trouvé le problème.
C'est mon JDK qui est un peu nase sur la machine que j'ai à l'école. Sur le portable ca marche nickel, donc voila.


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
Reply

Marsh Posté le 12-06-2002 à 11:52:51    

cybervince a écrit a écrit :

Ca y est, j'ai trouvé le problème.
C'est mon JDK qui est un peu nase sur la machine que j'ai à l'école. Sur le portable ca marche nickel, donc voila.  




oh l'autre il va avec son portable en cours
cte frime...

Reply

Marsh Posté le 12-06-2002 à 11:55:32    

cybervince a écrit a écrit :

Ca y est, j'ai trouvé le problème.
C'est mon JDK qui est un peu nase sur la machine que j'ai à l'école.



 
C'est cela oui. Pourrais tu être plus imprécis lorsque tu donnes des renseignements stp ? :D
 
Blague à part, je suis très curieux de savoir ce que le JDK un peu nase à avoir là dedans  :heink:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed