Utilisez java.nio.file.Paths.get (String first, String ... plus)
.
Path path = Paths.get("/var/temp/sample.csv");
Path path2 = Paths.get("/", "var","temp","sample.csv");
Les diviseurs de chemin ('/' sous Unix et '' sous Windows) sont bons pour le côté Java.
Le / var / temp / sample.csv
ci-dessus interprète le lecteur sur lequel l'application s'exécute en tant que répertoire racine sous Windows.
Par exemple, si vous exécutez votre application quelque part sur le lecteur C :, l'exemple ci-dessus serait C: \ var \ temp \ sample.csv
.
Depuis Java 11, vous pouvez utiliser java.nio.file.Path.of (String first, String ... more)
.
// Java11
Path path = Path.of("/var/temp/sample.csv");
Utilisez la méthode Path.resolve (Path other)
.
Path parent = Paths.get("/var/temp");
Path child = Paths.get("child");
Path file = Paths.get("sample.csv");
Path connected = parent.resolve(child).resolve(file); // -> /var/temp/child/sample.csv
Lors de la création d'une instance Path en utilisant Paths.get (String first, String ... more)
, commençant par /
sera considéré comme le chemin du répertoire racine.
Donc, si vous écrivez par inadvertance du code comme celui-ci, cela ne fonctionnera pas.
// /var/temp/Je veux faire un enfant
Path parent = Paths.get("/var/temp");
Path child = Paths.get("/child"); // "/"Il est considéré comme le chemin du répertoire racine car il commence par
Path connected = parent.resolve(child); // -> /temp
Path→File
Utilisez la méthode Path.toFile ()
.
Path path = Paths.get("/var/temp");
File file = path.toFile();
File→Path
Utilisez la méthode File.toPath ()
.
File file = new File("/var/temp");
Path path = file.toPath();
Recommended Posts