我有一条指向磁盘上文件的路径,例如:C:\folder\dir\dir2\file.txt
。在代码中,如果在处理此文件时抛出异常,它将输出整个路径。理想情况下,最好不要打印整个目录,而不是../../dir2/file.txt
。
似乎我应该能够使用java.nio.file relativize
方法,我只是不确定如何。
Path file; // C:\folder\dir\di2\file.txt
file.relativize(file.getParent());
我以错误的方式接近这一点我确定,只是不肯定如何完成我喜欢的事情。
答案 0 :(得分:9)
获取当前工作目录
Path pwd = Paths.get("").toAbsolutePath();
然后relativize
目标Path
Path relative = pwd.relativize(target);