JAVA读取环境变量

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Properties;

class Test
{
 // 返回当前系统变量的函数,结果放在一个Properties里边,这里只针对win2k以上的,其它系统可以自己改进
 public Properties getEnv() throws Exception
 {
  Properties prop = new Properties();
  String OS = System.getProperty("os.name").toLowerCase();
  System.out.println("操作系统:" + OS);
  Process p = null;
  if (OS.indexOf("windows") > -1)
  {
   p = Runtime.getRuntime().exec("cmd /c set");
  }
   if(OS.indexOf("linux") > -1)
         {
            p = Runtime.getRuntime().exec("sh -c set");
         }
  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
  {
   Test sp = new Test();
   Properties p = sp.getEnv();
   System.out.println(p.getProperty("PATH")); // 注意大小写,比如读取PATH。Linux下为PATH;Windows为Path
  }
  catch (Exception e)
  {
   System.out.println(e);
  }
 }
}

 

你可能感兴趣的:(JAVA)