Ich habe einen Quellpfad, den ich als eine Dateisystem-URL empfange, von der ich auf einen absoluten Pfad zwei Eltern oben auflösen möchte; der letzte Typ als Path
Objekt ist erwünscht. Um dies zu tun, muss ich es in eine URI
, dann in eine Path
konvertieren, und dann getParent()
darauf zweimal aufrufen.Gibt es eine sauberere Möglichkeit, einen übergeordneten Pfad von einer Dateisystem-URL darzustellen?
Gibt es einen sauberen Weg, dies so auszuführen, dass ich auf eine Transformation durchführen kann entweder die URL
, URI
oder Path
mit einer relativen Zeichenfolge ../..
? Ich habe immer gefunden, dass mehrere Aufrufe von getParent()
einen Weg quer weniger intuitiv zu sein auf einem Blick zu lesen, als mit ../
einen relativen Pfad zur Verfügung zu stellen, usw.
// Example file system path as a URL
URL u = new URL("file:///a/b/c");
// Must convert to URI and then call 'getParent()' twice
Path p = Paths.get(u.toURI()).getParent().getParent();
Ehrlich gesagt, das ist der beste Weg, um es mir zu sagen. – VGR