java中有一个System类,可以用它来获取与系统有关的信息,比如常见的System.in,System.out,System.err分别用来获取标准输入、标准输出与错误信息。
除此之外,System类中也提供了一些方法来获取与系统有关的属性,比如:
System.getenv():获取系统所有的环境变量;
System.getenv(String name):获取指定名称的环境变量值;
System.getProperties():获取所有系统属性
System.getProperty(String name):获取指定的系统属性
System.getProperty(String name,String def):获取指定的系统属性,若系统不存在指定的属性,则以默认值(def)返回
示例代码:
public class SystemOptionTest{
public static void main(String[] args) {
//获取系统所有的环境变量
Map<String,String> env = System.getenv();
//打印所有的环境变量
for(String name : env.keySet()) {
System.out.println(name + "------" +env.get(name));
}
//获取指定的环境变量
//注:虽然java是区分大小写的,但是在这里的环境变量名与大小写无关,比如“java_home”与"JAVA_HOME"是一样的,因为在操作系统中,环境变量名是跟大小写无关的,设置成大写字母或小写甚至是大小写混合,都是可以的,所以在这里,System.getenv("java_home")等于System.getenv("JAVA_HOME")
System.out.println(System.getenv("java_home"));
//获取系统所有的属性
Properties props = System.getProperties();
//获取指定的系统属性
String osName = System.getProperty("os.name");
//获取指定的系统属性,当该属性不存在时,返回默认值
String aa = System.getProperty("bb","自定义属性");//若系统中不存在"bb"属性,则aa的值为"自定义属性"
//将系统属性保存起来
prop.store(new FileOutputStream("E:\\系统属性\\properties.txt"), "System properties");
//这里将系统属性保存到E盘的系统属性文件夹的properties.text文件中
}
}