IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[debutant]lecture chemin d'acces a un fichier


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Par défaut [debutant]lecture chemin d'acces a un fichier
    bonjour !
    Je lutte pour recuperer le chemin d'acces à un fichier que mon programme demande(en mode console):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    System.out.println("entrer le chemin d'acces au fichier corpus");
    byte[] lu = new byte[300];
    System.in.read(lu,0,300);
    String chemin = new String (lu,0,lu.length);
    System.out.println(chemin);
    BufferedReader entree= new BufferedReader(new FileReader(chemin));
    Ca me renvoie toujours une erreur qui me dit que le fichier dont j'ai entré le chemin n'existe pas (alors qu'il existe bien).
    Le chemin est bien affiché avant le fileReader, c'est donc bien sur cette ligne la qu'est l'erreur.
    Des idees ?
    Merci d'avance

  2. #2
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Par défaut
    Le chemin que tu donne est en relatif ou en absolu?

    A.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Par défaut
    en absolu (de type /home/moi/exemple)

  4. #4
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Je te conseille d'utiliser plutôt le code qui est donné dans la FAQ et qui utilise un InputStreamReader.
    Lien:Comment lire des informations sur l'entrée standard ?

    En effet, tu cherches à lire un flux de caractères et non un flux de d'octets. Il ne faut pas oublier qu'en Java les caractères sont codés sur deux octets.

    Plus d'informations : article sur java.io


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre éclairé Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Par défaut
    Déjà essaye de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int nbRead = System.in.read(lu);
    String chemin = new String(lu, 0, nbRead - 2);
    plutot que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.in.read(lu,0,300);
    String chemin = new String (lu,0,lu.length);
    Car sinon chemin contient forcément 300 caractères ce qui est trop.
    Le "-2" c'est pour ne pas prendre le /r/n mais c'est de la bidouille. Le mieux comme est bien d'utiliser la méthode donner dans la FAQ.

    A.

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Par défaut
    c'est plus propre en effet, merci, mais ca ne fonctionne tjr pas

    en passant voila l'erreur que j'ai oubilé de poster plus haut:
    Exception in thread "main"
    java.io.FileNotFoundException: /home/pol/exemple
    (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileInputStream.<init>(FileInputStream.java:66)
    at java.io.FileReader.<init>(FileReader.java:41)
    at Moteur.loadDoc(Moteur.java:130)
    at Moteur.<init>(Moteur.java:13)
    at main.main(main.java:9)

  7. #7
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Plusieurs interrogations :
    • C'est quoi ton code à présent ?
    • ferme-tu correctement les flux ?
    • comment gère-tu les exceptions ?


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] Recuperer le chemin d'acces d'un fichier
    Par kinon dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/02/2009, 18h33
  2. Récupérer le chemin d'accés d'un fichier
    Par massol joel dans le forum Contribuez
    Réponses: 2
    Dernier message: 24/10/2006, 17h03
  3. [VBA-E]récupérer le chemin d'accès d'un fichier
    Par gil68 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/02/2006, 19h50
  4. Réponses: 5
    Dernier message: 07/05/2004, 10h44
  5. Chemin d'accès d'un fichier
    Par guitaros dans le forum Langage
    Réponses: 6
    Dernier message: 16/01/2004, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo