- 论坛徽章:
- 0
|
我现在做的程序是这样的:\r\n\r\n系统管理员会在程序里设定为一个名为\"DIFF VALUE\"的环境变量,并设定一个程序相关的值\r\n\r\n现在要求我在java程序中取得该变量的值,并进行相关处理,我是这样做的:\r\n public String getEnvValue(String envName){\r\n String OS = System.getProperty(\"os.name\").toLowerCase();\r\n Properties property = new Properties();\r\n Process process = null;\r\n String envValue = null;\r\n if (OS.indexOf(\"windows\") > -1) {\r\n try {\r\n process = Runtime.getRuntime().exec(\"cmd /c set\");\r\n BufferedReader br = new BufferedReader(new InputStreamReader(\r\n process.getInputStream()));\r\n String line;\r\n while ((line = br.readLine()) != null) {\r\n int i = line.indexOf(\"=\");\r\n if (i > -1) {\r\n String key = line.substring(0, i);\r\n String value = line.substring(i + 1);\r\n property.setProperty(key, value);\r\n }\r\n }\r\n envValue = property.getProperty(envName);\r\n } catch (Exception e) {\r\n envValue = \"0\";\r\n }\r\n } else {\r\n envValue = \"0\";\r\n }\r\n return envValue;\r\n }\r\n\r\n后来该系统的环境由win2000换为IBM的服务器了,而且预装了AIX系统,所以上面的代码就不管用了\r\n\r\n但是我觉得java是跨平台的,问题应该主要是这行:\r\n process = Runtime.getRuntime().exec(\"cmd /c set\");\r\n\r\n本人是个才开始工作的菜鸟,以前也没有接触过AIX,所以在这里向高手请教一下,上面的程序该如何改成AIX下适用的~~~~ |
|