首页 > 解决方案 > 非静态等效于 java.nio.file.Paths.get()

问题描述

一些背景:我在沙盒模式下运行 Jenkins 共享库,我无法使用任何 Java/Groovy 静态方法。一个简单的解决方案是关闭沙盒模式,但我必须使用它。另一个限制:new java.io.File(...)不允许打电话。

是否有任何非静态函数/方法可以将连接时形成路径字符串的字符串序列转换为路径 - 即 的行为java.nio.file.Paths.get()

编辑:我知道它可以非常繁琐地手动完成,但我想看看是否存在任何现有的功能来做到这一点。

标签: javajenkinsgroovy

解决方案


试试这个:

public static Path getPath(String ... pathArr) {
    if (pathArr.length == 0)
        throw new IllegalArgumentException();
    StringBuilder path = new StringBuilder();
    for (String s : pathArr)
        path.append("/").append(s);
    return new File(path.toString()).toPath();
}

我测试过,它适用于不存在的路径


推荐阅读