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 :

probleme de chemin relatif


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut probleme de chemin relatif
    Bonjour je souhaiterai pouvoir mettre dans mon code java sous eclipse
    un chemin relatif vers un fichier.Comment faire ??

    Merci de vos aides et conseils.

    Voici le code initial
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private boolean methodX() throws JessException{
        	Rete engine = new Rete();
        	engine.executeCommand("(clear)");
        	engine.reset();
        	// Load the rules
        	engine.batch("C:/cheminlongaboslu/fichier.txt");
    Je souhaite obtenir qq chose comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    engine.batch("/cheminrelatif/fichier.txt");

  2. #2
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par minette

    Je souhaite obtenir qq chose comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    engine.batch("/cheminrelatif/fichier.txt");
    C'est pas relatif ca ....

    ca , ca veut dire "/" => racine du systeme
    essaye ./fichier.txt

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    Citation Envoyé par miloux32
    C'est pas relatif ca ....

    ca , ca veut dire "/" => racine du systeme
    essaye ./fichier.txt

    oui merci pour ta reponse. En fait je suis sous windows et qd je fait

    ou ça ne marche toujours pas. Y'a t'il un moyen de recuperer le Path du workspace eclipse? Sinon si y'a un autre moyen d'inclure un chein relatif merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Essaie un truc du genre
    MaClass.class.getResourceAsStream("chemin/fichier.txt");
    Ca te retourne un input stream. Tu as aussi getResource() qui retourne une URL.
    Le root sera ton jar.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    Citation Envoyé par guenievre
    Essaie un truc du genre
    Ca te retourne un input stream. Tu as aussi getResource() qui retourne une URL.
    Le root sera ton jar.

    dsl j'ai pas bien compris

  6. #6
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    Y'a t'il un moyen de recuperer le Path du workspace eclipse?
    si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.getProperty("user.dir");
    tu récupère ton repertoire courant (en generale le repertoire du projet qui en dessous du repertoire workspace).
    Après tu peux faire des compraraisons entre ton repertoire courant et ton chemin absolu pour créer ton chemin relatif.
    mais ça me parait un peu bizarre il doit y avoir une solution toute simple mais elle ne me vient pas.
    pourquoi tu veux absolument un chemin relatif?

  7. #7
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    j'ai trouvé ceci je pense que ça peut bien t'aider:
    http://www.huguesjohnson.com/tiamat_...hResolver.html

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    Citation Envoyé par sylviadesbois
    si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.getProperty("user.dir");
    tu récupère ton repertoire courant (en generale le repertoire du projet qui en dessous du repertoire workspace).
    Après tu peux faire des compraraisons entre ton repertoire courant et ton chemin absolu pour créer ton chemin relatif.
    mais ça me parait un peu bizarre il doit y avoir une solution toute simple mais elle ne me vient pas.
    pourquoi tu veux absolument un chemin relatif?
    Merci je vais essayer. Je veux un chemin relatif parceque
    etant en train de developper sous windows, j'ai peur
    qu'en faisant un Merge sur le serveur Linux la syntaxe
    C:\cheminmachin\fichier.txt ne soit pas en rapport.

    Et c'est mieu les chemin relatif qd on veu distribuer je pense.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    ça pourrai marcher avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.getProperty("user.dir");

    sauf que dans le resultat j'obtient un chemin avec des slash et moi
    j'ai besoin de les remplacer par des anti slash de la sorte

    C:/chemin/.... au lieu de C:\chemin\.... une Idee ??

    Merci

  10. #10
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonChemin.replace('/','\\')
    te remplecera tes / par \

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    Citation Envoyé par sylviadesbois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonChemin.replace('/','\\')
    te remplecera tes / par \

    c super merci. Mais penses tu que avec cela,
    je suis independant au niveau OS. cad sous windows
    j'aurai qq chose comme ceci C:/chemin/...

    alors que sus linux par exemple ce sera /chemin/...

    avec le merge y'aura pas de pbm avec un .replace ou autre ??

    merci encore

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 151
    Par défaut
    Citation Envoyé par minette
    . Je veux un chemin relatif parceque
    etant en train de developper sous windows, j'ai peur
    qu'en faisant un Merge sur le serveur Linux la syntaxe
    C:\cheminmachin\fichier.txt ne soit pas en rapport.

    Et c'est mieu les chemin relatif qd on veu distribuer je pense.
    Si ma memoire est bonne je pense qu'en fait en java il n'y pas de méthode toute faite pour recupérer un chemin relatif.

    Mais en faisant "./truc.extension" par exemple il y a des méthodes qui te permettent de toujours recuperer un chemin absolu par exemple dans la classe File.

    Ou encore comme çà a été suggeré avec Properties qui permet de récupérer les variables d' environnement.

  13. #13
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    salut
    // donne\ sous windows
    et donne / sous linux donc c'est bon

  14. #14
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    Je comprends pas trop en fait ce que tu me dit? c'est quoi un merge?

    j'aurai qq chose comme ceci C:/chemin/...

    alors que sus linux par exemple ce sera /chemin/...
    ben c'est pour ça que tu utilise le chemin relatif non?

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    chemin.replace('\\','/')

    merci j'utilise en fait pour remplacer \ par / , et ça marche bien merci

  16. #16
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    avant de classer la discussion résolue tu m'explique pour le merge stp? c'est une sorte d'emulateur windows (l'inverse de cygwin?) c'est ce que j'ai cru comprendre mais bon si tu pouvais m'en dire plus (principe, interet, comment on peut emuler un truc dont on sais pas comment il est fait? )

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    Citation Envoyé par sylviadesbois
    avant de classer la discussion résolue tu m'explique pour le merge stp? c'est une sorte d'emulateur windows (l'inverse de cygwin?) c'est ce que j'ai cru comprendre mais bon si tu pouvais m'en dire plus (principe, interet, comment on peut emuler un truc dont on sais pas comment il est fait? )
    Lol non en fait qd je parle de merge c'est juste un transfert de mes sources sur un server CVS. ce serveur tournant sous linux, c'est cette raison qui me pousse a ne pas laissser trainer dans mon code les chemins absolu windows.
    parceque si un autre developpeur recupere le code et qu'il est sous linux probleme avec mes chemin windows absolu.

    c bon???

  18. #18
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    oki oki (ils disent des trucs parfois bizarre sur wiki...)
    alors tu aurais peut être du procéder comme ça:
    créer un attribut separateur lui affecter la valeur / ou \\ en faisant un test sur l'OS (System.getProperty ( "os.name" ))
    et remplacer tes / ou \\ par separateur comme ça ça doit marcher partout

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 105
    Par défaut
    Citation Envoyé par sylviadesbois
    oki oki (ils disent des trucs parfois bizarre sur wiki...)
    alors tu aurais peut être du procéder comme ça:
    créer un attribut separateur lui affecter la valeur / ou \\ en faisant un test sur l'OS (System.getProperty ( "os.name" ))
    et remplacer tes / ou \\ par separateur comme ça ça doit marcher partout
    Ah oui merci, tu es COOL je vais proceder comme ça sauf que je vai borner a savoir sur le test si c différent de windows xp alors actions ....

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

Discussions similaires

  1. probleme syntaxe chemin relatif
    Par nico38100 dans le forum Langage
    Réponses: 3
    Dernier message: 14/02/2013, 11h54
  2. Probleme de chemin relatif
    Par devin59 dans le forum C#
    Réponses: 2
    Dernier message: 09/05/2008, 18h34
  3. new File(String) probleme chemin relatif / absolu
    Par rc_29 dans le forum Langage
    Réponses: 6
    Dernier message: 08/01/2008, 15h33
  4. Probleme de chemin relatif
    Par lanfeustdetroll dans le forum Langage
    Réponses: 12
    Dernier message: 23/07/2007, 12h00
  5. [Visual C++]probleme avec un chemin relatif
    Par bouba83 dans le forum MFC
    Réponses: 28
    Dernier message: 19/05/2006, 23h22

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