0

我在 JAVA 代码中获取 Linux 环境变量的值,如下所示:

String path = getEnv("MY_HOME")

//MY_HOME corresponds to mydir/myproject/proj/landing_page/home

我想编写一个使用 MY_HOME 环境变量返回绝对目录路径 mydir/myproject/logs 的方法。

谁能建议我如何检索 MY_HOME 中路径的“mydir/myproject/”部分?

4

3 回答 3

1

java IO 中的 Path 类具有 subpath 方法,因此您可以执行以下操作:

Path path = Paths.get("one/two/three");
System.out.println(path.subpath(0, 2));

输出将是“一/二”;

于 2013-09-03T20:54:52.860 回答
0

也许您正在寻找FilegetParentFile方法:

new File(getEnv("MY_HOME")).getParentFile().getAbsolutePath()
于 2013-09-03T20:58:13.523 回答
0

可以直接使用System.getEnv(String)方法。

如果您想MY_HOME通过升级 3 级来获得部分内容,那么您可能可以这样做:

String logPath = myHome + "/../../../logs";

或获取路径的前 2 部分:

String arr[] = myHome.split("/");
String logPath="";
if (arr.length > 2)
    logPath = arr[0] + '/' + arr[1] + "/logs";
System.out.println(logPath); // mydir/myproject/logs
于 2013-09-03T20:52:19.823 回答