Charger un fichier texte en mémoire dans un String [JAVA] - Java - Programmation
Marsh Posté le 13-02-2007 à 17:59:27
ReplyMarsh Posté le 14-02-2007 à 11:07:23
tu peux faire quelque-chose avec genre chaine=new StringReader(new InputFileStream(cheminFichier));
Marsh Posté le 14-02-2007 à 21:56:38
un string sur la tête (mémoire) en faisant la java ?
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
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);
}
}
Marsh Posté le 02-03-2007 à 23:59:00
accessoirement :
final static private String FICHIER_A_LIRE = "leNomDeTonFichier.txt";
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"
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 ??
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 |
Bla blah bla; uneLigne = aLire.readLine() et c'est tout.
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)
Marsh Posté le 05-03-2007 à 12:37:21
S_A_M a écrit : ok merci de tes éclaircissements |
Je te laisse corriger ton code à titre d'exercice.
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