六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

java读取操作系统环境变量

[复制链接]

升级  2%

11

主题

11

主题

11

主题

秀才

Rank: 2

积分
53
 楼主| 发表于 2013-1-15 03:13:27 | 显示全部楼层 |阅读模式
package com.laies;
import java.util.*;
import java.io.*;
/**
 * @author 梁越
 * @文件名:SysProb.java<br>
 * @描述: 取得当前系统变量的程序
 */
public 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"); // 其它的操作系统可以自行处理,
  }
  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("TEMP")); // 注意大小写
  } catch (Exception e) {
   System.out.println(e);
  }
 }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表