Verwenden Sie java.nio.file.Paths.get (String first, String ... more)
.
Path path = Paths.get("/var/temp/sample.csv");
Path path2 = Paths.get("/", "var","temp","sample.csv");
Die Pfadteiler ('/' unter Unix und '' unter Windows) sind gut für die Java-Seite.
Das obige / var / temp / sample.csv
interpretiert das Laufwerk, auf dem die Anwendung ausgeführt wird, als Stammverzeichnis unter Windows.
Wenn Sie Ihre Anwendung beispielsweise irgendwo auf dem Laufwerk C: ausführen, lautet das obige Beispiel "C: \ var \ temp \ sample.csv".
Ab Java 11 können Sie java.nio.file.Path.of (String first, String ... more)
verwenden.
// Java11
Path path = Path.of("/var/temp/sample.csv");
Verwenden Sie die Methode "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
Wenn Sie eine Pfadinstanz mit "Paths.get (String first, String ... more)" erstellen, wird das Beginnen mit "/" als Pfad aus dem Stammverzeichnis betrachtet. Wenn Sie also versehentlich Code wie den folgenden schreiben, funktioniert dies nicht.
// /var/temp/Ich möchte ein Kind machen
Path parent = Paths.get("/var/temp");
Path child = Paths.get("/child"); // "/"Es wird als Pfad aus dem Stammverzeichnis betrachtet, da es mit beginnt
Path connected = parent.resolve(child); // -> /temp
Path→File Verwenden Sie die Path.toFile () -Methode.
Path path = Paths.get("/var/temp");
File file = path.toFile();
File→Path
Verwenden Sie die Methode File.toPath ()
.
File file = new File("/var/temp");
Path path = file.toPath();
Recommended Posts