web-dev-qa-db-fra.com

Comment obtenir la chaîne de chemin à partir d'un Java.nio.Path?

Réécriture de la question avec plus d'informations

J'ai du code qui crée un objet Path en utilisant des chemins relatifs, comme ceci: Paths.get("..", "folder").resolve("filename"). Plus tard, je veux obtenir la chaîne de chemin d'accès "..\dossier\nom de fichier" (je suis sur Windows, donc les barres obliques inverses). Lorsque j'exécute ce code à l'aide de la compilation manuelle ou d'Eclipse, cela fonctionne très bien.

Cependant, lorsque je l'exécute à l'aide de Maven, cela ne fonctionne plus. La méthode toString() renvoie [.., folder, filename] Au lieu d'une chaîne de chemin d'accès réelle. L'utilisation de path.normalize() n'aide pas. L'utilisation de path.toFile().getPath() retourne ce que je recherche, mais je pense qu'il devrait y avoir une solution utilisant uniquement l'API nio.path.

30
Jorn

Utilisation:

Paths.get(...).normalize().toString()

Une autre solution serait:

Paths.get(...).toAbsolutePath().toString()

Cependant, vous obtenez des résultats étranges: Paths.get("/tmp", "foo").toString() renvoie /tmp/foo Ici. Quel est votre système de fichiers?

40
fge