[Java] mettre le contenu d'un fichier txt dans une String

mettre le contenu d'un fichier txt dans une String [Java] - Programmation

Marsh Posté le 11-02-2002 à 19:22:13    

Salut :hello:
 
J'ai un fichier texte, je voudrais en lire le contenu et mettre le tout dans une chaine de caractères. voici comment j'ai fait mais ca n marche pas :(
 
//-----------Récupération du contenu du fichier---------//
String leContenuAnnuaire = null;
if (telFichier.exists())
{
FileReader entree = null;
try
{
   
 entree = new FileReader(telFichier);
}
 
catch(IOException e)
{
 System.out.println("Prbl à l'ouverture "+e);
 System.exit(1);
} // catch
     
try
{
 entree.read(leContenuAnnuaire);
} //try
 
catch(IOException e)
{
 System.out.println("Prb à la lecture "+e.toString());
} // catch
 
try
{
 entree.close();
} // try
 
catch(IOException e)
{
 System.out.println("Prbl à la fermeture "+e.toString());
} // catch
}
 
javac me renvoit cette erreur :
UnAnnuaire.java:38: cannot resolve symbol
symbol  : method read  (java.lang.String)
location: class java.io.FileReader
   entree.read(leContenuAnnuaire);
 
alors comme ca commence a faire un ptit bout de temps que je cherche ca m'arrangerait bien si qqun avait la solution :)
 
Merci d'avance :)

 

[jfdsdjhfuetppo]--Message édité par Jerome--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 11-02-2002 à 19:22:13   

Reply

Marsh Posté le 11-02-2002 à 19:47:14    

voici une méthode pour charger un fichier dans une String:
 

Code :
  1. /**
  2. * Loads the specified file into a String representation
  3. * @author Stephane Nicoll - Infonet FUNDP
  4. * @version 0.1
  5. */
  6. public static String loadFile(File f) {
  7.     try {
  8.        BufferedInputStream in = new BufferedInputStream(new FileInputStream(f));
  9.        StringWriter out = new StringWriter();
  10.        int b;
  11.        while ((b=in.read()) != -1)
  12.            out.write(b);
  13.        out.flush();
  14.        out.close();
  15.        in.close();
  16.        return out.toString();
  17.     }
  18.     catch (IOException ie)
  19.     {
  20.          ie.printStackTrace(); 
  21.     }
  22. }

 

[jfdsdjhfuetppo]--Message édité par darklord22--[/jfdsdjhfuetppo]


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 11-02-2002 à 20:03:41    

Jerome a écrit a écrit :

[Java] mettre le contenu d'un fichier txt dans une String


:lol:  :lol:  :lol:  :lol:  :lol:


---------------
[:the%20real%20ziad]  
Reply

Marsh Posté le 11-02-2002 à 20:12:19    

darklord22> merci bcp :)

Reply

Marsh Posté le 11-02-2002 à 20:36:47    

THE REaL ZiAD a écrit a écrit :

 :lol:  :lol:  :lol:  :lol:  :lol:  




 
bin quoi? du moment qu'il dit pas un String ... ;)


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 11-02-2002 à 20:36:59    

Jerome a écrit a écrit :

darklord22> merci bcp :)  




 
you're welcome
 
 :hello:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 11-02-2002 à 21:19:44    

k'ai une question :  
 
est ce que c'est plus efficace de lire un fichier ligne par ligne ou est-ce que ca revient au même que de faire octet par octet comme t'as fait (enfin presque).
 
Parce que ca fait quand même vachement plus d'itération dans la boucle.
 
En faite, je me demande si la lecture d'un ligne d'un fichier est optimisée dans l'api ou si elle se contente de lire char par char jusqu'à trouver un '\n' ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-02-2002 à 21:38:11    

benou a écrit a écrit :

k'ai une question :  
 
est ce que c'est plus efficace de lire un fichier ligne par ligne ou est-ce que ca revient au même que de faire octet par octet comme t'as fait (enfin presque).
 
Parce que ca fait quand même vachement plus d'itération dans la boucle.
 
En faite, je me demande si la lecture d'un ligne d'un fichier est optimisée dans l'api ou si elle se contente de lire char par char jusqu'à trouver un '\n' ...  




 
c'est toujours mieux lorque tu fais ligne par ligne. Le désavantage c'est que tu ne peux pas lire de binaire. Que du texte. Mais bon c'est pas optimisé c'est clair. Je pourrais lire  1024 octets a la fois si je voulais ... suffit de changer la méthode read, write


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 11-02-2002 à 21:56:05    

ouais mais d'un autre côté ca te fait construite de grosses chaines de caractères ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

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