int i = 0; for (Iterator<String> itr = keys.iterator(); itr.hasNext();) { i++; String key = itr.next(); String value = env.get(key); System.out.println(key + ": " + value); } System.out.println("\n***total " + i + " items.***"); } else { String value = System.getenv(keyEnv); if (value != null) { System.out.println(keyEnv + ": " + value); } else { Map<String, String> env = System.getenv(); Set<String> keys = env.keySet(); for (Iterator<String> itr = keys.iterator(); itr.hasNext();) { String key = itr.next(); if (key.toLowerCase().contains(keyEnv)) { value = env.get(key); System.out.println(key + ": " + value); } } } } } }
关键是你想得到什么,有的属性也不需要使用jni:)
System.getProperties().list(System.out);
取决于你的操作系统,如果是Windows的话,可以使用Runtime类调用cmd /c set命令Properties envVariables = new Properties(); Process process = Runtime.getRuntime().exec("cmd /c set"); BufferedReader in = new BufferedReader( new InputStreamReader(process.getInputStream())); for(String line = null; (line = in.readLine())!= null;){ StringTokenizer tokenizer = new StringTokenizer(line, "="); envVariables.put(tokenizer.nextToken(), tokenizer.nextToken()); }
System.getProperty更多的是列出Jvm的环境import java.util.Map;
import java.util.Set;
import java.util.Iterator;
public class EnvironmentVar{
public static void main(String args[]){
Map<String,String> envVarMap=null;
Set<String> envKey=null;
envVarMap=System.getenv();
envKey=envVarMap.keySet();
for(Iterator<String> iter=envKey.iterator() ; iter.hasNext() ; ){
String key=iter.next();
System.out.println(key+" : "+envVarMap.get(key));
}
}
}
System.getProperty
System.getenv
http://community.csdn.net/Expert/topic/4782/4782531.xml?temp=.8347895
没人理,再贴一遍吧。1. 用法示例:
1)java TestSystemProperties prop
列出所有properties(属性变量)
2)java TestSystemProperties env
列出所有environment(环境变量)
3)java TestSystemProperties prop user
列出所有包含“user”字符的properties
3)java TestSystemProperties env user
列出所有包含“user”字符的environment variable2. 代码import java.util.*;public class TestSystemProperties {
public static void main(String[] args) throws Exception { if (args.length == 0) {
System.out.println("usage: java TestSystemProperty <env|prop>");
System.exit(0);
} if (args[0].length() >=3 && args[0].substring(0, 3).equals("env")) {
if (args.length > 1) {
printEnvironments(args[1]);
} else {
printEnvironments("");
}
} else if (args[0].length() >=4 && args[0].substring(0, 4).equals("prop")) {
if (args.length > 1) {
printProperties(args[1]);
} else {
printProperties("");
}
} else {
System.out.println("usage: java TestSystemProperty <env|prop>");
}
}static void printProperties(String keyProp){
if (keyProp.equals("")) {
Properties properties =
System.getProperties();
Enumeration names =
properties.propertyNames(); while (names.hasMoreElements()) {
String name = (String)names.nextElement();
String property = System.getProperty(name);
System.out.println(name + ":\t" + property);
}
} else {
String property =
System.getProperty(keyProp);
if (property != null) {
System.out.println(keyProp + ":\t" + property);
} else {
Properties properties =
System.getProperties();
Enumeration names =
properties.propertyNames();
while (names.hasMoreElements()) {
String name = (String)names.nextElement();
if (name.toLowerCase().contains(keyProp)) {
property = System.getProperty(name);
System.out.println(name + ":\t" + property);
}
}
}
}
}static void printEnvironments(String keyEnv) {
if (keyEnv.equals("")) {
Map<String, String> env =
System.getenv();
Set<String> keys = env.keySet();
int i = 0;
for (Iterator<String> itr = keys.iterator(); itr.hasNext();) {
i++;
String key = itr.next();
String value = env.get(key);
System.out.println(key + ": " + value);
}
System.out.println("\n***total " + i + " items.***");
} else {
String value = System.getenv(keyEnv);
if (value != null) {
System.out.println(keyEnv + ": " + value);
} else {
Map<String, String> env =
System.getenv();
Set<String> keys = env.keySet();
for (Iterator<String> itr = keys.iterator(); itr.hasNext();) {
String key = itr.next();
if (key.toLowerCase().contains(keyEnv)) {
value = env.get(key);
System.out.println(key + ": " + value);
}
}
}
}
}
}
Process process = Runtime.getRuntime().exec("cmd /c set");
BufferedReader in = new BufferedReader(
new InputStreamReader(process.getInputStream()));
for(String line = null; (line = in.readLine())!= null;){
StringTokenizer tokenizer = new StringTokenizer(line, "=");
envVariables.put(tokenizer.nextToken(), tokenizer.nextToken());
}
in.close();
process.destroy();