Problème de chemin relatif

Résolu
informatixo Messages postés 129 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 25 juillet 2012 - 25 janv. 2008 à 23:06
informatixo Messages postés 129 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 25 juillet 2012 - 27 janv. 2008 à 18:59
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 !

7 réponses

Utilisateur anonyme
27 janv. 2008 à 08:57
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.

3