java读取操作系统环境变量
/**
文件名:sysprob.java
描述: 取得当前系统变量的程序。 java中的system.getproperty只是针对jvm来的,如果要取得系统环境变量,还要用到系统相关的函数
作者: 慈勤强
email :cqq1978@gmail.com
**/
import java.util.*;
import java.io.*;
class sysprob
{
//返回当前系统变量的函数,结果放在一个properties里边,这里只针对win2k以上的,其它系统可以自己改进
public properties getenv() throws exception
{
properties prop=new properties();
string os = system.getproperty("os.name").tolowercase();
process p=null;
if(os.indexof("windows")>-1)
{
p=runtime.getruntime().exec("cmd /c set"); //其它的操作系统可以自行处理, 我这里是win2k
}
bufferedreader br=new bufferedreader(new inputstreamreader(p.getinputstream()));
string line;
while((line=br.readline())!=null)
{
int i=line.indexof("=");
if(i>-1)
{
string key=line.substring(0,i);
string value=line.substring(i+1);
prop.setproperty(key,value);
}
}
return prop;
}
//具体用法
public static void main(string[] args)
{
try
{
sysprob sp=new sysprob();
properties p=sp.getenv();
system.out.println(p.getproperty("path")); //注意大小写,如果写成path就不对了
}
catch(exception e)
{
system.out.println(e);
}
}
}