【问题标题】:Apply relative path to a given path in Java将相对路径应用于Java中的给定路径
【发布时间】:2019-09-04 10:07:36
【问题描述】:

给定一个目录的绝对路径:pathA,和一个相对路径pathB,从pathA中找到pathB的绝对路径。

public String applyPath(String pathA, String pathB) { ...

assertEquals("/a/b/file.txt", applyPath("/a/b/c/d", "../../file.txt"));

assertEquals("/a/b/c/file.txt", applyPath("/a/b/c", "./file.txt"));

我将如何使用 java 库编写这样的函数而不是进行字符串操作。

【问题讨论】:

    标签: java filepath relative-path


    【解决方案1】:

    你应该使用 Java Pathsresolve 这样的方法

    Paths.get(pathA).resolve(pathB);
    

    【讨论】:

    • 谢谢,我还使用规范路径来获得所需格式:new File(Paths.get(pathA).resolve(pathB).toUri()).getCanonicalPath()
    • @iluvAS,您不需要为此创建文件对象。检查Path::normalize()Path::toAbsolutePath()
    猜你喜欢
    • 1970-01-01
    • 2021-08-15
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2014-07-16
    相关资源
    最近更新 更多