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é
    Inscrit en
    Mai 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 75
    Par défaut [Resolu]Probleme de chemin relatif
    Salut tt le mde

    voila j'ai une appli qui s'occupe de charger un fichier .properties (dans lequel je charge les chemins de mes repertoires dans lesquelles je vais taper)

    j'ai qq chose comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RecyclerIn=testImport
    RecyclerOut=testExport
    RecyclerArchive=testArchive
    et je charge mon fichier de propriete comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ResourceBundle bundle = ResourceBundle.getBundle("myFolderProperties");	
     
    	File importRep=new File(bundle.getString("RecyclerIn"));
    et en fait il va par defaut me chercher le chemin ou eclipse est installé (c:\Program Files\eclipse\testImport)

    or moi je veux qu'il aille me chercher le testImport que j'ai créé en local dans mon projet du genre d:\Eclipse\workspace\monProjet\testImport
    comment faut il faire??

    Merci de vos reponses

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Dans le cadre de ton programme seul, ou dans le cadre d'Eclipse ?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 75
    Par défaut
    Ben c'est pour rendre mon projet portable en fait, donc dans le cadre du programme
    Je l'ai adapté avec une web app que j'ai deployé sur un tomcat d'une autre machine que la mienne, et la bizarrement quand je lui donne les chemins relatif il va aller me chercher mes repertoire dans le dossier d'installation de tomcat (c:\Program Files\Apache\Tomcat\testImport)

    je pige pas

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Je suis pas sur de comprendre.

    Si tu utilises des chemins relatifs, c'est normal qu'il se base sur le dossier dans lequel l'application a été lancée. Si tu veux toujours le même dossier, il faudrait peut-être utiliser des chemins absolus.

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Il est toujours un peu ardu de donner à une appli java un répertoire de base, car il y a beaucoup de configs possibles et imaginables.

    Même la combine du fichier de propriétés qui donne le répertoire de base n'est pas pratique, car, ce fichier de propriété, il faut bien le mettre quelque part !

    Par contre, en passant par une propriété système, c'est bon.

    Il y a cependant différentes façons d'explorer et d'exploiter le système de fichier, pour savoir où l'on peut aller, que ce soit avec les propriétés systèmes standards, ou avec File.

    Moi par exemple j'utilise souvent la propriété système user.home, ou je demande directement à l'utilisateur dans une boite de dialogue, et je mémorise son choix dans une Preference.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 75
    Par défaut
    Merci de vos reponses

    Mais Je vois pas trop comment le fait d'utiliser une propriete du systeme pourra resoudre mon pb et dans ces cas la quel type de proprietes je doit utilisé?

    je veux juste que lorsque je specifie un chemin relatif dans mon fichier propriété qu'il aille me le cherche dans le repertoire ou mon projet à été créé et pas dans un qqconque repertoire d'install

  7. #7
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    La notion de répertoire où le projet a été créé est un peu floue...

    Veux-tu parler du répertoire où le logiciel a été installé ? Alors pendant la procédure d'installation, tu configures le lancement de ton programme pour qu'il repère facilement ce répertoire. C'est le cas le plus habituel.

    Puisque c'est un projet, ce serait le répertoire d'Eclipse ?... Peut être, mais tu nous as assuré plus haut que tu voulais executer ton programme en dehors d'Eclipse.

    ...Et si jamais tu utilises un jour Java Web Start, la notion de répertoire d'installation n'existe même plus.

    Alors ?

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 75
    Par défaut
    J'ai du mal m'exprimé

    J'ai créer un projet dans eclipse: testProject
    dans ce projet je veux faire du traitement de fichier (copier/coller/deplacer...)

    pour cela j'ai créer un fichier .properties dans lequel je stock les addresses des repertoires où je vais manipuler les fichiers. J'y ai mis des chemins relatif parce que je veux que mon api soit portable.

    Le probleme est que lorsque je test si mon api marche bien je liste mes repertoires, et la ca ne marche pas. Du coup pour debuguer j'ai decidé d'afficher le chemin absolu de mes chemins relatif avec un getAbsolutePath()

    Et la à ma grande surprise (enfin pas trop puisque ca marche pas ), mon programme va chercher mon repertoire (testImport) dans le repertoire d'install d'eclipse (c:\Program File\eclipse\testImport) alors que je n'ai pas de repertoire testImport dans ce rep.

    Mon repertoire testImport est créé à l'interieur de mon projet qui se trouve dans mon dossier workspace (D:\Eclipse\workspace\testProject\testImport)

    et donc ma question est de savoir comment faut il faire pour dire dans mon appli lorsque je met un chemin relatif d'aller chercher le chemin absolue de mon repertoire local du projet (D:\Eclipse\workspace\testProject\testImport) et non pas dans le repertoire d'install d'eclipse?

    ca va je suis pas trop confus

  9. #9
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Peux-tu ré-expliquer sans jamais employer les mots Eclipse et Projet ?

    (sinon, à première vue, les pistes déjà données devraient convenir)

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 75
    Par défaut
    ok je recommence^^

    j'ai créer une api qui va se charger de faire de la manipulation de fichier.

    Pour cela j'ai defini un fichier de propriete qui va contenir mes chemins de repertoires ou ja vais copier, couper, coller...

    pour cela j'ai un fichier que j'ai appelé myFolderProperties.properties
    à l'interieur je lui passe mes chemins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    In=D:\\Eclipse\\workspace\\testProject\\in\\
    Out=D:\\Eclipse\\workspace\\testProject\\out\\
    Jusque la tout va bien, dans mon code j'utilise un bundle pour recuperer les addresses et ca marche.

    Maintenant si j'utilise des chemins relatif:
    sans rien changer dans mon code ca ne marche pas!
    Du coup je fais un test pour voir quel est le chemin absolue qui est recupéré en utilisant un getAbsolutePath() A ma grande surprise il m'affiche le repertoire d'install d'eclipse! Alors que mes repertoires sont créés dans
    D:\\Eclipse\\workspace\\testProject\\ (qui n'est pas le repertoire d'install d'eclipse)

    Donc ma question est comment faut il faire pour que lorsque je met mes chemins relatif dans mon fichiers de proprietes et bien qu'il aille me chercher le chemin absolue qu'il faut, c'est à dire D:\\Eclipse\\workspace\\testProject\\in ou out

    J'espere que j'ai ete suffisament clair

    Merci

  11. #11
    Nouveau candidat au Club
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Par défaut
    Bonjour,

    Je veux savoir comment spécifier le nom d'un fichier (ou d'une image pour etre plus clair) dans un projet eclipse.
    Je veux pas spécifier le chemin complet du fichier.

    Merci de m'aider.

  12. #12
    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 lanfeustdetroll
    ok je recommence^^

    j'ai créer une api qui va se charger de faire de la manipulation de fichier.

    Pour cela j'ai defini un fichier de propriete qui va contenir mes chemins de repertoires ou ja vais copier, couper, coller...

    pour cela j'ai un fichier que j'ai appelé myFolderProperties.properties
    à l'interieur je lui passe mes chemins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    In=D:\\Eclipse\\workspace\\testProject\\in\\
    Out=D:\\Eclipse\\workspace\\testProject\\out\\
    Jusque la tout va bien, dans mon code j'utilise un bundle pour recuperer les addresses et ca marche.

    Maintenant si j'utilise des chemins relatif:
    sans rien changer dans mon code ca ne marche pas!
    Du coup je fais un test pour voir quel est le chemin absolue qui est recupéré en utilisant un getAbsolutePath() A ma grande surprise il m'affiche le repertoire d'install d'eclipse! Alors que mes repertoires sont créés dans
    D:\\Eclipse\\workspace\\testProject\\ (qui n'est pas le repertoire d'install d'eclipse)

    Donc ma question est comment faut il faire pour que lorsque je met mes chemins relatif dans mon fichiers de proprietes et bien qu'il aille me chercher le chemin absolue qu'il faut, c'est à dire D:\\Eclipse\\workspace\\testProject\\in ou out

    J'espere que j'ai ete suffisament clair

    Merci
    Tu ne peux pas.
    La solution c'est de faire :
    - tu configures via un fichier de configuration tes chemins ( genre une "clé" qui te dit "le répertoire out c'est celui la" en absolu)
    - tu peux passer une proprietes systeme au démarrage de ton appli ( -DCONFIG_FILE=XXXX par exemple) dans laquelle tu renseignes l'emplacement et le nom de ton fichier de conf.


    ca te permet d'avoir un truc assez portable et modulaire.

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 75
    Par défaut
    ok merci pour la reponse je vais voir ca

Discussions similaires

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

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