我有访问Linux变量的Java程序(示例$VARD
,我也导出了变量),我正在使用Runtime.getRuntime("echo $VARD")
函数访问变量值。问题是打印变量名而不是其值。
注意:我在Linux服务器上运行此程序,它具有JAVA JDK 1.4版本。我知道我们可以使用JDK 1.5中提供的getenv().get()
函数来实现这一点。
答案 0 :(得分:1)
一般情况下,您应该使用System.getProperty()
或System.getEnv()
。
import java.lang.*;
public class SystemDemo {
public static void main(String[] args) {
// prints Java Runtime Version before property set
System.out.print("Previous : ");
System.out.println(System.getProperty("java.runtime.version" ));
System.setProperty("java.runtime.version", "Java Runtime 1.6.0");
// prints Java Runtime Version after property set
System.out.print("New : ");
System.out.println(System.getProperty("java.runtime.version" ));
}
}
import java.util.Map;
public class EnvMap {
public static void main (String[] args) {
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n",
envName,
env.get(envName));
}
}
}
如果你正在使用maven,还有另一种选择。您可以使用${env.VARIABLE_NAME}
从maven访问环境变量。