Je travaille sur un projet et une exigence est que si le 2ème argument de la méthode principale commence par "/
" (pour linux), il doit le considérer comme un chemin absolu (pas de problème), mais s'il ne commence pas par "/
", il devrait obtenir le chemin de travail actuel de la classe et y ajouter l'argument donné.
Je peux obtenir le nom de la classe de plusieurs façons : System.getProperty("java.class.path")
, new File(".")
et getCanonicalPath()
, et ainsi de suite...
Le problème est que cela ne me donne que le répertoire dans lequel les packages sont stockés - c'est-à-dire que si j'ai une classe stockée dans ".../projet/ceci/est/nom/dupackage
", cela me donnerait seulement "/projet/
" et ignore le nom du package où se trouvent les fichiers .class
réels.
Des suggestions?
EDIT : Voici l'explication, tirée de la description de l'exercice
Le sourcedir peut être soit absolu (commençant par "/") soit relatif à l'endroit où nous exécutons le programme
Le sourcedir est un argument donné pour la méthode principale. Comment puis-je trouver ce chemin?