[JAVA] Charger un fichier texte en mémoire dans un String

Charger un fichier texte en mémoire dans un String [JAVA] - Java - Programmation

Marsh Posté le 13-02-2007 à 13:25:10    

Bonjour,

 

Après quelques recherches, je n'arrive pas à trouver comment faire pour charger le contenu d'un fichier texte en mémoire dans une variable de type String.
Le but final est de manipuler une String avec les fonctions qui lui sont associées.

 

Merci à tous


Message édité par NoiBe49 le 13-02-2007 à 16:31:10
Reply

Marsh Posté le 13-02-2007 à 13:25:10   

Reply

Marsh Posté le 13-02-2007 à 17:59:27    

http://java.sun.com/docs/books/tut [...] index.html
 
 


---------------
Light is right
Reply

Marsh Posté le 14-02-2007 à 11:07:23    

tu peux faire quelque-chose avec genre chaine=new StringReader(new InputFileStream(cheminFichier));


---------------
http://www.chances-de-gagner.fr
Reply

Marsh Posté le 14-02-2007 à 21:33:26    

euh non, essaie encore :D

Reply

Marsh Posté le 14-02-2007 à 21:56:38    

un string sur la tête (mémoire) en faisant la java ?
 
http://images.google.fr/images?q=tbn:HyqzXK-1ewl76M:imblog.aufeminin.com/blog/D20060801/25161_581794380_luca_avec_son_slip_sur_la_tete_H191823_L.jpg
:??:


Message édité par MagicBuzz le 14-02-2007 à 21:57:21
Reply

Marsh Posté le 02-03-2007 à 23:58:28    

Voila ce que j'utilise pour lire des fichier en collone
Je ne sais pas comment poster des fichiers joints alors je coipe colle :D
 
 
public static void main( String[] argv ) {
// ----------------------------------------
      try { // Les operations sur les fichiers peuvent lever des exceptions (par exemple si le fichier a ouvrir n'existe pas) --> on est oblige de capturer ces exceptions
         // Ouverture du fichier a lire  
         BufferedReader aLire= new BufferedReader(new FileReader(FICHIER_A_LIRE));
 
           
         do {
           
            unMot = aLire.readLine();
 
            // si readline() retourne null c'est qu'on a atteint la fin du fichier
            if (produit!=null) { // si on n'a pas atteint la fin du fichier...
               //ici tu traite ce que tu lis,, a chaque foi readLine va a la ligne
               //tu dois donc stocker tes string en, collone dans ton .txt
               //si tu veux aussi lire sur des lignes demande moi
               
            }
         } while (produit!=null); // tant qu'on n'a pas atteint la fin du fichier aLire
 
         // On ferme les fichiers
         aLire.close( );
         
      }
      catch (IOException e) {  
         System.out.println("Une operation sur les fichiers a leve l'exception "+e);
      }
   }

Reply

Marsh Posté le 02-03-2007 à 23:59:00    

accessoirement :
 
 final static private String FICHIER_A_LIRE = "leNomDeTonFichier.txt";

Reply

Marsh Posté le 03-03-2007 à 00:09:59    

Moins accessoirement:
 
* Gestion des exceptions : mauvais
* unMot = aLire.readLine(); <- sémantiquement incorrect, on lit une ligne entière, il n'est pas judicieux de stocker cela dans une variable mal nommée.
* Commentaire inopportun : "Les operations sur les fichiers peuvent lever des exceptions (par exemple si le fichier a ouvrir n'existe pas) --> on est oblige de capturer ces exceptions"

Reply

Marsh Posté le 03-03-2007 à 00:15:55    

c'est bien de répondre ca, mais dans un but d'entraide et de compréhension:
 
Pourquoi la gestion des exceptions est mauvaise? j'ai pas eu de problème
 
unMot=aLire.readLine();  c'est pour ca que j'ai indiqué de classer les infos en colonne, sinon j'utilise des séparateurs de types charactères pour séparer les données car effectivement readLine, comme son nom l'indique, lit une ligne
Après si c'est pour stocker des contacts de types Nom; Prénom; adresse etc les stocker en colonne ne me semble pas poser de problème
 
Commentaire inopportun ??

Reply

Marsh Posté le 03-03-2007 à 15:03:12    

S_A_M a écrit :

Pourquoi la gestion des exceptions est mauvaise? j'ai pas eu de problème


* Si une exception se produit, il se peut que tu ne passes jamais par aLire.close(), et c'est mal, parce que tu dois fermer le stream quelque soit l'issue.
 
* e.printStackTrace plutôt que System.out
 
* Dans ce cas-ci, on peut se contenter d'afficher l'exception, mais ça reste hmmm... exceptionnel.
 

S_A_M a écrit :

unMot=aLire.readLine();  c'est pour ca que j'ai indiqué de classer les infos en colonne, sinon j'utilise des séparateurs de types charactères pour séparer les données car effectivement readLine, comme son nom l'indique, lit une ligne
Après si c'est pour stocker des contacts de types Nom; Prénom; adresse etc les stocker en colonne ne me semble pas poser de problème


Bla blah bla; uneLigne = aLire.readLine() et c'est tout. :o
 
 
La boucle while est aussi... un peu spéciale, avec deux fois le test produit != null. En général, en Java, on se la joue c0wB0y (mais si) : while ((aLigne = aLire.readLine() != null)
 
 [:airforceone]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 03-03-2007 à 15:03:12   

Reply

Marsh Posté le 04-03-2007 à 21:24:46    

ok merci de tes éclaircissements :D

Reply

Marsh Posté le 05-03-2007 à 12:37:21    

S_A_M a écrit :

ok merci de tes éclaircissements :D


Je te laisse corriger ton code à titre d'exercice. :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

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