Lire un fichier text

Résolu
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011 - 11 août 2007 à 22:53
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011 - 13 août 2007 à 20:01
Salut tout le monde.


J'aimerais savoir comment je peut lire un fichier text à partir de son path, par exemple C:\monFichier.txt


Bon, j'ai essayé avec ce code mais malheureusement ca na marche pas. J'ai toujours une ereur sur le path.
BufferedReader in = null;


try{
in = new BufferedReader(new FileReader("C:\monFichier.txt")) ;
while(in.readLine() != null){
   String ligne = in.readLine();
   System.out.println(ligne);
}
}catch(Exception ex)
{
//traitement de l'exception
}

Merci bien de m'aider.

6 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
13 août 2007 à 09:33
Salut,

pour info

'\home\monDossier\monFichier' n'est absolument pas un cheminunix qui devrait plus ressembler à
/home/monDossier/monFichier.... le \ n'est qu'un caractère d'échapement sous unix

par contre au lieu de te prendre le choux avec tes anti slash windowsien reste au slash (oui oui en java tu peux faire C:/Documents and Settings/Administrateur/Mes documents/monFichier.txt)
maintenant si tu veux faire propre utilise java.io.File.separator qui est automatiquement renseigné en fonction de l'os....

petite remarque concernant ton chemin :
C:\\Documents//and//Settings\\Administrateur\\Mes//documents\\monFichier.txt

pourquoi diable tu mets des // pour remplacer l'espace ??????

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
13 août 2007 à 10:57
le plus simple etant d utiliser le slash mais comme dit Twinuts moi je passe toujour par une methode qui met en forme tout mes path avec la constante separator ;o) ca donne plus de portabilité au code... ;o)

un test simple pour voir si c est le format de ton path qui ne fonctione pas met un fichier txt ds le repertoire de lancement de ton prog et utilise le chemin relatif, si tu as toujour un not found ,;o) c est que cela vien d ailleur ;o) ...

GL

GodConan ;o)
3
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011
13 août 2007 à 20:01
Salut,
Merci tu m'a donné vraiment la solution. Le fait de remplacer \ par / et surtout ca marche sous Linux et sous windows. Merci encore.

 
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 août 2007 à 06:17
déjà, il faut doubler le slash : le caractère slash est un caractère d'échappement :

BufferedReader in = new BufferedReader(new FileReader("C:\\monFichier.txt")) ;

Quelle est l'erreur sur le path qu'il te dit ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
12 août 2007 à 10:40
Slt.
tu peux aussi utiliser la class RandomAccessFile en faisant:

RandomAccessFile raf = new RandomAccessFile("tonFichier.txt", /*modeDeLecture*/ rw);
long pointeur = 0;
long longueur = raf.length();
while (pointeur < longueur) {
   String ligne = raf.readLigne(pointeur);
   pointeur = raf.getFilePointeur();
}

dsl pour les possibles erreurs de code.
j'espere que tu vois comment on peut utiliser cette class.
+
0
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011
12 août 2007 à 12:48
Salut,
Bon, Si j'utilise Linux comme OS le compilateur ne detecte pas d'erreur et l'execution est bonne par exemple:
                        \home\monDossier\monFichier
comme path

Mais sous windows si j'utilise comme path:
    C:\Documents and Settings\Administrateur\Mes documents\monDossier\monFichier.txt

ca marche pas.
J'ai meme essayer d'ecrire le path comme ca

C:\\Documents and Settings\\Administrateur\\Mes documents\\monFichier.txt

J'ai aussi essayer ce path

C:\\Documents//and//Settings\\Administrateur\\Mes//documents\\monFichier.txt

et le compilateur ne detecte rien mais à l'execution il y a exception de type:
java.io.FileNotFoundException: C:\Documents\and\Settings\Administrateur\Mes\documents\s.txt (Le chemin d'accès est introuvable)
0
Rejoignez-nous