怎么更简单的获得系统属性

SystemUtils类是Commons-Long提供的一个访问系统属性的工具类,该类提供了很多静态的字段访问系统属性。如图:

怎么更简单的获得系统属性_第1张图片

通常,我们很难记住系统属性的名字(通过System.getProperty()),SystemUtils会给我们带来很多方便

以UserNameTest.java演示通过SystemUtils获得当前用户

public class UserNameTest {
	@Test
	public void testSystemProperties() {
		System.out.println("User name from SystemUtils:");
		System.out.println(SystemUtils.USER_NAME);
	}
}

运行结果如下:

User name from SystemUtils:
Administrator

我么来看一下SystemUtils的公共字段,和它们的值,

public class SystemUtilsTest {
	@Test
	public void main() throws IllegalArgumentException, IllegalAccessException {
		Class<SystemUtils> c = SystemUtils.class;
		Field[] fields = c.getFields();
		for (int i = 0; i < fields.length; i++) {
			Field f = fields[i];
			System.out.printf("%-40s :" + f.get(c) + "\n", c.getSimpleName()
					+ "." + f.getName());
		}
	}
}

运行结果如下:

SystemUtils.AWT_TOOLKIT                  :sun.awt.windows.WToolkit
SystemUtils.FILE_ENCODING                :utf-8
SystemUtils.FILE_SEPARATOR               :\
SystemUtils.JAVA_AWT_FONTS               :null
SystemUtils.JAVA_AWT_GRAPHICSENV         :sun.awt.Win32GraphicsEnvironment
SystemUtils.JAVA_AWT_HEADLESS            :null
SystemUtils.JAVA_AWT_PRINTERJOB          :sun.awt.windows.WPrinterJob
SystemUtils.JAVA_CLASS_PATH              :D:\busap\xmedia\workspaces\Demo\bin;D:\busap\xmedia\workspaces\Demo\lib\commons-lang-2.6.jar;D:\bu
sap\xmedia\workspaces\Demo\lib\commons-logging-1.1.3.jar;D:\Program Files\eclipse\plugins\org.junit_4.11.0.v201303080030\junit.jar;D:\Progra
m Files\eclipse\plugins\org.hamcrest.core_1.3.0.v201303031735.jar;/D:/Program Files/eclipse/configuration/org.eclipse.osgi/bundles/361/1/.cp
/;/D:/Program Files/eclipse/configuration/org.eclipse.osgi/bundles/360/1/.cp/
SystemUtils.JAVA_CLASS_VERSION           :50.0
SystemUtils.JAVA_COMPILER                :null
SystemUtils.JAVA_ENDORSED_DIRS           :D:\java\jdk1.6.0\jre\lib\endorsed
SystemUtils.JAVA_EXT_DIRS                :D:\java\jdk1.6.0\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
SystemUtils.JAVA_HOME                    :D:\java\jdk1.6.0\jre
SystemUtils.JAVA_IO_TMPDIR               :C:\Users\ADMINI~1\AppData\Local\Temp\
SystemUtils.JAVA_LIBRARY_PATH            :D:\java\jdk1.6.0\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\java\jdk1.6.0\jre
\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Window
s\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\java\jdk1.6.0\BIN;D:\Program Files\maven\apach
e-maven-3.2.2\BIN;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\TortoiseSVN\bin
SystemUtils.JAVA_RUNTIME_NAME            :Java(TM) SE Runtime Environment
SystemUtils.JAVA_RUNTIME_VERSION         :1.6.0_45-b06
SystemUtils.JAVA_SPECIFICATION_NAME      :Java Platform API Specification
SystemUtils.JAVA_SPECIFICATION_VENDOR    :Sun Microsystems Inc.
SystemUtils.JAVA_SPECIFICATION_VERSION   :1.6
SystemUtils.JAVA_UTIL_PREFS_PREFERENCES_FACTORY :null
SystemUtils.JAVA_VENDOR                  :Sun Microsystems Inc.
SystemUtils.JAVA_VENDOR_URL              :http://java.sun.com/
SystemUtils.JAVA_VERSION                 :1.6.0_45
SystemUtils.JAVA_VM_INFO                 :mixed mode
SystemUtils.JAVA_VM_NAME                 :Dynamic Code Evolution Client VM
SystemUtils.JAVA_VM_SPECIFICATION_NAME   :Java Virtual Machine Specification
SystemUtils.JAVA_VM_SPECIFICATION_VENDOR :Sun Microsystems Inc.
SystemUtils.JAVA_VM_SPECIFICATION_VERSION :1.0
SystemUtils.JAVA_VM_VENDOR               :Sun Microsystems Inc.
SystemUtils.JAVA_VM_VERSION              :0.2-b02-internal, 19.0-b04-internal
SystemUtils.LINE_SEPARATOR               :

SystemUtils.OS_ARCH                      :x86
SystemUtils.OS_NAME                      :Windows 7
SystemUtils.OS_VERSION                   :6.1
SystemUtils.PATH_SEPARATOR               :;
SystemUtils.USER_COUNTRY                 :CN
SystemUtils.USER_DIR                     :D:\busap\xmedia\workspaces\Demo
SystemUtils.USER_HOME                    :C:\Users\Administrator
SystemUtils.USER_LANGUAGE                :zh
SystemUtils.USER_NAME                    :Administrator
SystemUtils.USER_TIMEZONE                :
SystemUtils.JAVA_VERSION_TRIMMED         :1.6.0_45
SystemUtils.JAVA_VERSION_FLOAT           :1.6
SystemUtils.JAVA_VERSION_INT             :160
SystemUtils.IS_JAVA_1_1                  :false
SystemUtils.IS_JAVA_1_2                  :false
SystemUtils.IS_JAVA_1_3                  :false
SystemUtils.IS_JAVA_1_4                  :false
SystemUtils.IS_JAVA_1_5                  :false
SystemUtils.IS_JAVA_1_6                  :true
SystemUtils.IS_JAVA_1_7                  :false
SystemUtils.IS_OS_AIX                    :false
SystemUtils.IS_OS_HP_UX                  :false
SystemUtils.IS_OS_IRIX                   :false
SystemUtils.IS_OS_LINUX                  :false
SystemUtils.IS_OS_MAC                    :false
SystemUtils.IS_OS_MAC_OSX                :false
SystemUtils.IS_OS_OS2                    :false
SystemUtils.IS_OS_SOLARIS                :false
SystemUtils.IS_OS_SUN_OS                 :false
SystemUtils.IS_OS_UNIX                   :false
SystemUtils.IS_OS_WINDOWS                :true
SystemUtils.IS_OS_WINDOWS_2000           :false
SystemUtils.IS_OS_WINDOWS_95             :false
SystemUtils.IS_OS_WINDOWS_98             :false
SystemUtils.IS_OS_WINDOWS_ME             :false
SystemUtils.IS_OS_WINDOWS_NT             :false
SystemUtils.IS_OS_WINDOWS_XP             :false
SystemUtils.IS_OS_WINDOWS_VISTA          :false
SystemUtils.IS_OS_WINDOWS_7              :true

从结果来看,你可以知道我使用的是win7 ..^0^

你可能感兴趣的:(系统属性,SystemUtils,common-long)