У меня есть путь к исходному файлу, который я получаю в качестве URL-адреса файловой системы, из которого я хочу разрешить абсолютный путь двум родителям выше; желателен конечный тип как объект Path
. Для этого мне нужно преобразовать его в URI
, затем в Path
, а затем дважды позвонить getParent()
.Есть ли более чистый способ представления родительского пути из URL-адреса файловой системы?
Есть уборщик способ выполнить это такое, что я могу выполнить некоторые преобразования на либо URL
, URI
или Path
с относительной строкой ../..
? Я всегда находил, что множественные вызовы getParent()
поперечного путь менее интуитивно читать с первым взглядом, чем обеспечить относительный путь с ../
и т.д.
// 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();
Честно говоря, это лучший способ сделать это, о котором я могу думать. – VGR