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

Entrée/Sortie Java Discussion :

Travailler avec un chemin relatif


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Par défaut Travailler avec un chemin relatif
    J'utilise un path absolu pour modifier un doc xml, tel : new File("C:fichier.xml"),
    et ça marche sauf que cette façon n'est pas vraiment clean.
    Je veux utiliser un path relatif au workspace par exemple et n'écrire ainsi que :
    new File("file:fichier.xml") en utilisant "file" comme racine logique sans être obligé à modifier les chemins physiques à chaque déploiement.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Par défaut
    Il est possible de récupérer le répertoire de l'utilisateur et d'autres chemins avec les System.getProperty("clé") cf : http://java.developpez.com/faq/java/?page=systeme

    Sinon pour récupérer la racine du système, il faut passer par File.listRoots() il me semble.

  3. #3
    Membre confirmé Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Par défaut
    Dans le document que tu m'as conseillé je ne trouve pas
    comment récupérer le dossier dans lequel se trouve l'exécutable
    de la solution finale mais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.getProperty("user.dir");
    System.getProperty("java.home");
    System.getProperty("os.name");
    qlq1 a une idée

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Tu peux passer par Class.getResource ou Class.getResourceAsStream.

    par exemple, tu as une classe Dummy dans un package com.application et tu veux accèder à un fichier xml dans com/application/data/xml/fichier.xml.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    URL url = Dummy.class.getResource("data/xml/fichier.xml");
    //ensuite, tu peux créer ton File avec l'URL.
    Bonne chance.

  5. #5
    Membre confirmé Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Par défaut
    Sinon si par exemple, cette classe Dummy se trouvait dans un package com.application/data/rep et que je veux accèder à un fichier xml dans un repertoire plus haut dans l'arborescense comme com.application est ce que je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = Dummy.class.getResource("../../fichier.xml");

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Je ne crois pas non ... y'a eu un problème similaire à ça dans nos forums y'a quelques jours (ou semaines ) et apparamment le chainage arrière (..) ne marche pas dans les jars .. à mons que tu ne packages pas ton application en jar ? ça vaut peut ^tre le cout d'essayer ça dans ce cas ...

    Sinon, tu peux aussi faire comme indiqué ici: via un chemin absolue dans le classpath.

    Bonne chance.

  7. #7
    Membre confirmé Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Par défaut
    Autre pb c que dans le dossier d'installation plus tard le packaging ne sera pas le même comme dans mon workspace donc je dois trouver une solution pour trouver le chemin relatif correspondant à la racine du dossier d'installation.

  8. #8
    Membre confirmé Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Par défaut
    Cbon j'ai trouvé.
    En fait, lorsque j'écrit :
    new File("fichier.xml")
    le root pri par défaut est le dossier de eclipse. Il faut donc travailler de cette façon puis il faudrat penser à créer le fichier dans le dossier d'installation.
    Si le fichier était par exemple dans un dossier xml_doc il faut alors mettre :
    1) new File("xml_doc\\fichier.xml") dans le code
    2) avoir le dossier xml_doc contenant le fichier xml sous le rep d'eclipse
    3) après l'insatallation il faut copier coller le dossier dans le repertoire d'installation sans avoir à changer le code.

    à tous.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    Si le fichier était par exemple dans un dossier xml_doc il faut alors mettre :
    1) new File("xml_doc\\fichier.xml") dans le code
    Merci beaucoup Spont, tout marche parfaitement bien chez moi avec ta méthode !

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

Discussions similaires

  1. new File, appeler avec un chemin relatif
    Par Lord Yu dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 30/06/2009, 12h05
  2. Supprimer un fichier avec un chemin relatif
    Par Aquellito dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/01/2009, 18h00
  3. JasperReport problème avec les chemins relatif
    Par baradoss dans le forum Jasper
    Réponses: 3
    Dernier message: 15/07/2008, 09h15
  4. Lancement d'un .exe avec C# - chemin relatif?
    Par WeeJay dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 28/05/2008, 09h29
  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