Comment créer un objet Java.nio.file.Path
à partir d'un objet String
dans Java 7?
C'est à dire.
_String textPath = "c:/dir1/dir2/dir3";
Path path = ?;
_
où _?
_ est le code manquant qui utilise textPath
.
Vous pouvez simplement utiliser la classe Paths
:
Path path = Paths.get(textPath);
... en supposant que vous souhaitiez utiliser le système de fichiers par défaut, bien sûr.
Depuis les javadocs .. http://docs.Oracle.com/javase/tutorial/essential/io/pathOps.html
Path p1 = Paths.get("/tmp/foo");
est le même que
Path p4 = FileSystems.getDefault().getPath("/tmp/foo");
Path p3 = Paths.get(URI.create("file:///Users/joe/FileTest.Java"));
Path p5 = Paths.get(System.getProperty("user.home"),"logs", "foo.log");
Sous Windows, crée un fichier C:\joe\logs\foo.log (en supposant que l'utilisateur à la maison est C:\joe)
Sous Unix, crée un fichier /u/joe/logs/foo.log (en supposant que l'utilisateur à la maison est/u/joe)
Si possible, je suggérerais de créer la Path
directement à partir des éléments de chemin:
Path path = Paths.get("C:", "dir1", "dir2", "dir3");
// if needed
String textPath = path.toString(); // "C:\\dir1\\dir2\\dir3"
Même lorsque la question concerne Java 7, je pense que cela ajoute de la valeur de savoir qu'à partir de Java 11, il existe une méthode statique dans la classe Path
qui permet de le faire. ceci tout de suite:
Avec tout le chemin en une chaîne:
Path.of("/tmp/foo");
Avec le chemin décomposé en plusieurs chaînes:
Path.of("/tmp","foo");