Java获取环境变量(不是设置)

作者在 2011-11-11 13:17:31 发布以下内容

      对于配置jdk,只要把jdk的bin目录放在系统变量的path下就行了,当然你如果设置了JAVA_HOME,

以后学tomcat时就不用再费事了。可是如何获得系统环境变量?比如获得path下的所有可执行程序的路径?

下面的一段小代码想必能帮你解决:

package arron.util;

import java.io.BufferedInputStream;
import java.io.IOException;

public class GetSystemVar {

    public static void main(String[] args) throws IOException {
        Runtime runtime = Runtime.getRuntime();
        // 这个方法可能抛出异常,为方便就直接抛到控制台了
        Process process = runtime.exec("cmd /c echo %path%");

        BufferedInputStream bis = new BufferedInputStream(
                process.getInputStream());// path的内容作为输入源
        int var = 0;// 把从path中读取的字符放在这里
        StringBuffer paths = new StringBuffer();// path中除分号外所有的字符放在这里
        while ((var = bis.read()) != -1) {
            if (((char) var) == ';') {
                paths.append('\n');// 每个路径换一行
                continue;
            }
            paths.append((char) var);
        }

        System.out.println(paths);// 输出每一个路径

    }

}
 

今天上午闲着没事,在瞅JDK文档时发现Process类中有个getInputStream()方法,就写了上面的测试代码

看能否取得系统变量,结果还真成功了^_^。System类的getProperty()好像不能实现上面的功能吧?

JavaSe | 阅读 1539 次
文章评论,共0条
游客请输入验证码
浏览70857次
最新评论