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 régulier Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Points : 101
    Points
    101
    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 averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Points : 327
    Points
    327
    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 régulier Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Points : 101
    Points
    101
    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 éminent
    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
    Points : 7 679
    Points
    7 679
    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 régulier Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Points : 101
    Points
    101
    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 éminent
    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
    Points : 7 679
    Points
    7 679
    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 régulier Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Points : 101
    Points
    101
    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 régulier Avatar de Spont
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 125
    Points : 101
    Points
    101
    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
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 5
    Points
    5
    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, 13h05
  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, 19h00
  3. JasperReport problème avec les chemins relatif
    Par baradoss dans le forum Jasper
    Réponses: 3
    Dernier message: 15/07/2008, 10h15
  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, 10h29
  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