才鸟问题:如何获取系统的环境变量 如题,各位不吝赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unix : env 即可windows : classpath , path ...不知道有没象UNIX下一样一次获得所有环境变量 Java 里不能取到完整的系统环境变量。 我只想取某一个环境变量,如temp的路径 用一种变态的方法,exec()执行echo %temp%从中去匹配 我记得JDK中有一个专门获取系统环境变量的方法,忘了再哪个包了 java.lang.System类的getProperty(key)方式可以取得部分环境变量,getenv(key)可以取得全部环境变量,但是getenv(key)在jdk1.3开始后就不建议使用了,甚至在IBM自己的jdk中都没有getenv(key)方法了,要使用那种,你自己选择把 楼上能解决问题。getenv 新版本可能废止, 安全隐患。估计是要接受 安全管理器 监管才行. 我已经试过用getProperty(key)方法了,但得不到结果,是不是我的key有问题,我用"temp"当key的 System.getProperty()方法应该可以的 我看tomcat源码里就是这样用的 import java.util.Enumeration;import java.util.Properties;public class Test { public static void main(String[] args) { Properties p = System.getProperties(); Enumeration e = p.propertyNames(); while (e.hasMoreElements()) { String key = (String) e.nextElement(); System.out.println(key + "=" + p.getProperty(key)); } }} java的环境变量是自己定义的,和Windows下的不是一回事。比如Windows下的"classpath"Java下叫"java.class.path".我查了一下,好像没有temp对应的Java环境变量,可以考虑用截获Runtime.exec("set temp");命令输出的办法 System.getProperty()方法只能读得系统环境变量,如果是自己添加的环境变量,就不行了。 得到系统的环境变量:System.getenv这个函数sun早已经不推荐使用了,主要有跨平台 安全性等问题。但是在Java1.5(5.0)里又支持了,且得到加强:public static String getenv(String name)得到一个系统变量的值public static Map<String,String> getenv()得到所有系统变量的值如楼主所言,要得到temp路径只需要调用String tmpDir = System.getenv( "temp" );即可。注意捕获异常 我的环境变量PATH C:\Program Files\Java\jdk1.5.0_04\bin;CLASSPATH C:\Program Files\Java\jre1.5.0_04\lib\rt.jar;.; JAVASE 给推荐几本好书 内部类 final. 一道很柔的面试题,可是我不会,大家帮帮忙,谢谢了 java怎样以只读模式打开文件 java中有种类型是smallclass?这是什么类型啊 JDBCF问题 高分求助!如何让应用程序访问服务器? class.getName()是个什么意思?在什么地方用到? 求助啊,,,java编码问题 如何计算一个字符串表达式的值? java的look&feel或者皮肤 运行在两个TOMCAT的两套程序怎样通信?
windows : classpath , path ...不知道有没象UNIX下一样一次获得所有环境变量
从中去匹配
import java.util.Properties;public class Test {
public static void main(String[] args) {
Properties p = System.getProperties();
Enumeration e = p.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
System.out.println(key + "=" + p.getProperty(key));
}
}
}
和Windows下的不是一回事。
比如Windows下的"classpath"
Java下叫"java.class.path".我查了一下,好像没有temp对应的Java环境变量,
可以考虑用截获Runtime.exec("set temp");命令输出的办法
System.getenv
这个函数sun早已经不推荐使用了,主要有跨平台 安全性等问题。
但是在Java1.5(5.0)里又支持了,且得到加强:public static String getenv(String name)
得到一个系统变量的值public static Map<String,String> getenv()
得到所有系统变量的值如楼主所言,要得到temp路径只需要调用
String tmpDir = System.getenv( "temp" );即可。注意捕获异常
CLASSPATH C:\Program Files\Java\jre1.5.0_04\lib\rt.jar;.;