2014-09-24 5 views
1

У меня есть путь, указывающий на файл на диске, скажем: C:\folder\dir\dir2\file.txt. В коде, если при работе с этим файлом создается исключение, он выводит весь путь. В идеале было бы неплохо не распечатывать всю директорию, а что-то вроде ../../dir2/file.txt.Java Nio абсолютный путь к относительному пути

Похоже, я должен уметь это с помощью метода java.nio.file relativize, я просто не знаю, как это сделать.

Path file; // C:\folder\dir\di2\file.txt 
file.relativize(file.getParent()); 

Я подхожу к этому неправильно, я уверен, просто не положительно, как выполнить то, что я хотел бы.

ответ

5

Получить текущую рабочую директорию

Path pwd = Paths.get("").toAbsolutePath(); 

, а затем relativize целевой Path

Path relative = pwd.relativize(target); 
+0

аха, я думаю, что я получил, спасибо. – joshft91

Смежные вопросы