2014-09-24 167 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 2014-09-24 19:32:52