Biorąc pod uwagę ścieżkę taką jak /a/./b/c/../d
, chciałbym usunąć wszystkie wskaźniki "katalogu bieżącego" (tj. Kropkę) i "katalog nadrzędny". wskaźniki (tj. ..), podając a/b/d
.Rozwiąż nazwę ścieżki za pomocą .. specyfikatorów katalogu nadrzędnego ("kropka kropka") bez rozstrzygania dowiązań symbolicznych
Mogę użyć File.getCanonicalPath()
, ale to również rozwiązuje dowiązania symboliczne, których nie chcę.
Każdy prosty sposób? To znaczy, prostsze niż pisanie tokenizera i samodzielne posługiwanie się nim.
Punkty premiowe, jeśli możesz mi powiedzieć, jaka jest właściwa nazwa dla "." i ".." są w tym kontekście.
'getAbsolutePath' nie rozwiązuje' .' lub '..' - zapewnia jedynie, że ścieżka jest bezwzględna. Ścieżki z '..' mogą nadal być bezwzględne, jak w moim przykładzie. – BeeOnRope
Niestety, błędne przeczytanie Twojego pytania, zobacz moją edycję. – doublesharp
Dzięki. Aby wyjaśnić, dobrze wiem, czym są '.' i' ..'. Chodziło mi o to, co konkretnie, jak w tytule mojego pytania. – BeeOnRope