我在 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/”部分?
我在 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/”部分?
java IO 中的 Path 类具有 subpath 方法,因此您可以执行以下操作:
Path path = Paths.get("one/two/three");
System.out.println(path.subpath(0, 2));
输出将是“一/二”;
也许您正在寻找File
的getParentFile
方法:
new File(getEnv("MY_HOME")).getParentFile().getAbsolutePath()
可以直接使用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