Java System 类详解 - properties and environment variables
在环境配置中我们经常需要知道或者设置系统属性值和环境变量。系统属性值是在同一个Java process里面有效的全局变量。而环境变量则是对于整个操作系统中所有进程都可见的,就如同你在OS里面设置的一样。因此除非必要,或者你确实需要环境变量,比如classpath和path,一般推荐使用properties。比如log4j的属性文件的使用。
下面的代码可以打印出所有的系统变量和环境变量:
package jdk.lang;import java.util.Enumeration;import java.util.Iterator;import java.util.Map;import java.util.Properties;public class SystemProperties {public static void main(String[] args) {printAllProperties();printALlEnvs();}private static void printALlEnvs() {Map<String, String> envs = System.getenv();Iterator<String> keys = envs.keySet().iterator();while (keys.hasNext()) {String key = keys.next();String value = System.getenv(key);System.out.println(String.format("%s: %s", key, value));}}private static void printAllProperties() {Properties properties = System.getProperties();Enumeration<Object> keys = properties.keys();while (keys.hasMoreElements()) {String key = keys.nextElement().toString();String value = System.getProperty(key);System.out.println(String.format("%s: %s", key, value));}}}