Подтвердить что ты не робот

Как получить строку пути из java.nio.Path?

Переписанный вопрос с дополнительной информацией

У меня есть код, который создает объект Path, используя относительные пути, например: Paths.get("..", "folder").resolve("filename"). Позже я хочу получить из него строку пути "..\folder\filename" (я на окнах, поэтому обратная косая черта). Когда я запускаю этот код с помощью ручной компиляции или из Eclipse, это отлично работает.

Однако, когда я запускаю его с помощью Maven, он больше не работает. Метод toString() возвращает [.., folder, filename] вместо фактической строки пути. Использование path.normalize() не помогает. Использование path.toFile().getPath() возвращает то, что я ищу, но я считаю, что должно быть решение, использующее только API nio.path.

4b9b3361

Ответ 1

Использование:

Paths.get(...).normalize().toString()

Еще одно решение:

Paths.get(...).toAbsolutePath().toString()

Однако вы получаете странные результаты: Paths.get("/tmp", "foo").toString() возвращает /tmp/foo здесь. Какая у вас файловая система?