【问题标题】:Java Nio absolute path to relative pathJava Nio 绝对路径到相对路径
【发布时间】:2014-09-24 19:20:15
【问题描述】:

我有一个指向磁盘上文件的路径,例如: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());

我确定我的处理方式是错误的,只是不确定如何完成我想要的。

【问题讨论】:

    标签: java nio


    【解决方案1】:

    获取当前工作目录

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

    然后relativize目标Path

    Path relative = pwd.relativize(target);
    

    【讨论】:

    • 我在同样的问题上失败了,但是得到格式应该是这样的错误:[smallpath].relativize[longpath] -> file..getParent().relativize(file);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2011-04-02
    • 2012-01-11
    • 2010-09-15
    • 2013-04-17
    • 2012-10-16
    相关资源
    最近更新 更多