begin process at 2012 02 15 07:04:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Système

 > 

API

 > 

Problème de chemin relatif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de chemin relatif

vendredi 25 janvier 2008 à 23:06:36 | Problème de chemin relatif

informatixo

Membre Club
Bonsoir à tous,

Je vous écris pour un problème de chemin relatif. La multitude de réponses trouvée grâce à la fonction recherche du site ne m'a malheureusement pas aidé pour mon problème.

Evidement quand je précise un chemin absolu en mettant des doubles antislash celà fonctionne sans problème.

Pour une raison de portabilité, j'ai voulu préciser mes chemins de façon relative.

J'ai deux dossiers qui sont au même niveau. Dans le premier dossier, j'ai la classe dont je me sers et je veux charger un fichier qui se situe dans le second dossier. Donc logiquement, il faut remonter d'un dossier avant de pouvoir aller dans le second dossier qui contient le fichier.

Un petit exemple s'impose je crois ! lol

racine
    |-> dossier1
    |      |-> classe.java
    |
    |-> dossier2
    |      |-> fichier.properties

Version absolu (on est dans C:\dossier1\classe.java) : "C:\\racine\\dossier2\fichier.properties" -> qui fonctionne

Version relative (on est toujours dans C:\dossier1\classe.java) : "..\\dossier2\\fichier.properties"


Message d'erreur généré : java.io.FileNotFoundException: ..\dossier2\fichier.properties (Le chemin d'accès spécifié est introuvable)

Normalement on utilise le "point" pour signifier qu'on est dans le dossier en cours et le "point point" pour signifier que l'on désire remonter d'un cran, dans le dossier parent.

Mais apparement, ici, c'est justement le "point point" qui pose problème.

J'ai essayé d'échapper les caractères "point" de cette façon "\.\.\\dossier2\\fichier.properties" mais évidement celà ne fonctionne pas.

Je m'en remet donc à votre jugement, si quelqu'un a une idée ...

Merci d'avance pour l'attention que vous porterez à ce fil et les contributions que vous apporterez.

Cordialement, informatixo

Que la force soit avec vous !
samedi 26 janvier 2008 à 16:05:13 | Re : Problème de chemin relatif

gouessej

Essaie les méthodes getParent() et getParentFile() de la classe java.io.File pour t'en sortir. Avant de poser une question ici, ce serait bien que tu penses à jeter un coup d'oeil dans la javadoc :
http://java.sun.com/javase/6/docs/api/

C'est bien de te soucier de la portabilité, on est en Java quand même et j'en vois trop ici qui parle comme s'il n'y avait que Windows sur Terre.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
samedi 26 janvier 2008 à 18:30:34 | Re : Problème de chemin relatif

informatixo

Membre Club
Je te remercie gouessej pour ton aide.

J'ai évidement été faire un tour sur la javadoc mais avant d'utiliser des moyens plus complexes j'ai préféré m'en référer au forum afin de savoir si quelqu'un qui utilise cela courament aurait pas une astuce simple.

J'ai le code suivant :

Properties chemin = new Properties();
chemin.load(new FileInputStream("..\\dossier2\\fichier.properties"));

En revanche, je ne vois pas trop comment utiliser les méthodes getParent() et getParentFile() sachant que mon FileInputStream n'est pas créée car le chemin relatif n'est pas correct. J'ai aussi essayé la variante "../dossier2/fichier.properties" qui ne fonctionne toujours pas à cause des ".."

Je ne dois pas quand même être le seul à vouloir utiliser des chemins relatifs lol

Je suis débutant sous Java et si tu as une idée, pourrait-tu me montrer un exemple qui me mette sur la voie STP ?

En tous les cas merci beaucoup de ton aide.

Que la force soit avec vous !
samedi 26 janvier 2008 à 19:53:19 | Re : Problème de chemin relatif

adamo901

J'avais eu le même besoin que toi et si je me rappelle bien, la solution était :  l'utilisation de la propriété de la class System :
String chemin = System.getProperties("user.dir");

A partir de cet instant là, vous pouvez accéder là où vous voulez et quelque soit le répértoir d'execution de votre application.

J'espère que ça marcherai pour toi et bonne chance.


samedi 26 janvier 2008 à 23:13:59 | Re : Problème de chemin relatif

gouessej

adamo901 a raison. Une fois que tu as un chemin absolu valide, sers toi en pour construire un objet de type File, applique les méthodes dont je t'ai parlé et utilise getPath() et getAbsolutePath() pour récupérer les chemins. Ce forum est pas mal mais je pense que tu ferais mieux de regarder et de bien comprendre la documentation Java avant de jeter un coup d'oeil ici. Java est très vaste, tu ne peux pas tout trouver ici.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
dimanche 27 janvier 2008 à 01:51:04 | Re : Problème de chemin relatif

informatixo

Membre Club
Merci beaucoup de votre aide à tous les deux.

J'avais effectivement pensé à une idée similaire en déclarant ma propre variable d'environnement qui pointerait sur le dossier "src" ou alors en utilisant un fichier lors de l'installation pour mémoriser le chemin absolu vers "src".

Mais j'ai pensé qu'il serait plus simple d'utiliser les chemins relatifs comme en HTML mais apparement d'après ce que vous me dites tous les deux,  cela n'est pas possible.

gouessej - > j'utilise assidument la documentation et c'est d'ailleurs ce qui m'a permis de progresser plus rapidement car il faut bien reconnaître qu'en java elle est bien faite. Cependant, dès fois, certaines astuces n'y figurent pas et rien ne remplacera l'expérience d'un développeur. C'est pour cela que j'ai fais appel à ce forum qui est une communauté d'entraide.

Bon, donc pour résumer, il n'est pas possible d'utiliser les ".." en java pour remonter d'un niveau dans l'arborescence que l'on indique dans un chemin relatif ?

Je vais donc devoir me plier à la terrible réalité et utiliser un intermédiaire (fichier ou variable d'environnement) ?

Encore une fois, merci beaucoup.

Cordialement, informatixo

Que la force soit avec vous !
dimanche 27 janvier 2008 à 08:57:15 | Re : Problème de chemin relatif

gouessej

Réponse acceptée !
Il n'y a pas d'astuce proprement dite mais c'est vrai que quelque chose qui ne te paraît pas évidemment en regardant la documentation peut s'éclaircir ici. Les ".." n'ont pas lieu d'être comme il y a la méthode getParent(), Java est logique jusqu'au bout, je ne vois pas le problème. Sous Linux, quand tu tapes "cd .." dans ta console, ça permet de remonter d'un niveau aussi et ça ne me perturbe pas que ce ne soit pas écrit comme ça en Java puisque c'est un langage portable qui ne dépend pas d'une plateforme particulière.

Personnellement, je te conseille d'utiliser une variable d'environnement facilement accessible depuis Java et de créer un répertoire (méthodes mkdir() et mkdirs() dans la classe File) où tu mets tes fichiers, c'est ce qui me semble le plus simple.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
dimanche 27 janvier 2008 à 18:59:41 | Re : Problème de chemin relatif

informatixo

Membre Club
Oui c'est vrai que chaque langage de programmation a sa logique. Je suis débutant sous Java, mais il est vrai que ce langage est très attrayant et intéressant.

Je considère donc que mon problème est résolu avac la variable d'environnement (base à partir de laquelle je partirais pour construire tous mes chemins relatifs.

Je trouve intéressant de pouvoir discuter, échanger des problèmes entre développeurs. Cela permet de s'ouvrir à des techniques que l'on a pas l'habitude d'utiliser.

En tous les cas merci beaucoup à tous les deux de m'avoir aidé et au plaisir de s'écrire au détour d'un fil.

Que la force soit avec vous !


Cette discussion est classée dans : fichier, problème, dossier, chemin, dossier2


Répondre à ce message

Sujets en rapport avec ce message

Chemin relatif dans un FileInputStream [ par boyboy ] Salut!J'ai un problème : Je veux accéder à un fichier à partir d'un fileInputStream. Le problème est que j'aimerais lui passer le chemin relatif de ce Refresh d'un dossier [ par hamzamalek ] Bonjour les gens je rencontre un petit problème avec Eclipse, qui m'empêche d'avancer... Je génère un fichier xml à partir d'une page jsp, selon enregistrer un fichier dans un dossier temporaire [ par simsimita ] Bonjour, quelqu'un peut m'expliquer comment on enregistre un fichier dans un répertoire temporaire sous windows avec du code java. Merci d'avance Problème d'affichage le contenu d'un jTextField [ par ramy04804001 ] [b][color=red]Salut[/color] [/b]les amis [^^happy13], je veut afficher le contenu d'un jTextfield et le stocké dans une base de donnée mais malheures problème avec jsp [ par hamzamalek ] Bonjour, Je suis entrain de travailler sur un site web en jsp avec des ressources en java tous d abord j ai créé mes classes en java (ressources en j remplir un combobox [ par linaing ] [^^!1] Bonjour a tous, je suis débutante en JAVA ,et j'ai un problème avec les combobox ,j'ai un fichier ,je veux récupérer les mots suivants Base-don Récupérer Path webservice [ par LordSnotling ] Bonjour, J'ai crée un webservice avec spring à partir d'un wsdl et j'aimerais dans ce webService, charger un fichier de configuration présent dans Compresser dossier et sous dossier (Zip) ? [ par sarahjtm ] [b]Bonjour à tous :) ![/b] Je [b]requière[/b] votre aide pour un [b]problème de compression de dossier en Java[/b]. [b][u]Je vous explique mon probl Problème avec fichier jar et JavaMail [ par MIFMIF ] Bonjours , J'ai creer une application java pour l'envoi automatique des e-mail ,l'application .jar marche bien si je la lance dans mon pc mais si je Problème avec des threads (son) [ par edouard333 ] Bonjour à tous, Je suis en train de faire plusieurs jeux qui utilisent le même fichier (Terrain) qui a pour principe de créer un terrain à partir de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales