java如何获取环境变量_Java 如何取得环境变量

package com.zhj.tools;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Properties;

/**

* 文件名:GetProperty.java

* 描述: 取得当前系统变量的程序。

*    java中的System.getProperty只是针对JVM来的,如果要取得系统环境变量,还要用到系统相关的函数。本程序先从JVM中取Key对应的Value,如果取不到再取系统环境变量

* 作者: 翟海军

*/

public class GetProperty {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

String key=null;

if (args.length>0) key=args[0];

String s=getProperty(key);

System.out.println(s);

}

public static String getProperty(String key) throws IOException{

String value=null;

Properties pp = null;

if (key == null || key.length()<1) {

pp = System.getProperties();

System.out.println("未指定key,现列出所有JVM环境变量:");

pp.list(System.out);

value="未指定key,上面是所有JVM环境变量:";

return value;

} else {

String s = null;

value = System.getProperty(key);

if (s == null) {

String OS = System.getProperty("os.name").toLowerCase();

Process p = null;

if (OS.indexOf("windows") > -1) {

p = Runtime.getRuntime().exec("cmd /c set"); // Windows系列

} else if (OS.indexOf("linux") > -1 || OS.indexOf("aix") > -1

|| OS.indexOf("unix") > -1) {

p = Runtime.getRuntime().exec("/bin/sh -c set"); // Unix系列

}

BufferedReader br = new BufferedReader(new InputStreamReader(p

.getInputStream()));

String line;

while ((line = br.readLine()) != null) {

int i = line.indexOf("=");

if (i > -1) {

if(key.equalsIgnoreCase(line.substring(0, i))){

value = line.substring(i + 1);

break;

}

}

}

}

}

return value;

}

}

posted on 2007-04-13 08:42 ☜♥☞MengChuChen 阅读(2334) 评论(0)  编辑  收藏 所属分类: java_code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值