Commons Lang
I. Commons Lang란?
Commons-Lang은 java.lang에 있는 클래스처럼 기능적으로 필요한 유틸리티들을 모아놓은 클래스들의 집합입니다. 아마도 여러분들 역시 직접 유틸리티 클래스들을 만들어 사용하고 있을겁니다. 즉 코딩을 하다보면 이렇거 있었으면 좋겠다 싶은것들이 Commons Lang에 다 있다고 생각하시면 됩니다 ^^
II. 다운로드 및 설치
http://jakarta.apache.org/site/downloads/downloads_commons-lang.cgi 에서 다운받자!
설치는 각 어플리케이션의 클래스 패스에 복사합니다.
III. org.apache.commons.lang.SystemUtils
SystemUtils는 java.lang.System 클래스 처럼 시스템에 관련된 기능을 쉽게 이용 할 수 있도록 하는 시스템 관련 유틸리티입니다.
시스템 변수들을 가져올 때 매번 System.getProperty("JAVA_HOME")를 하기보다 SystemUtils.JAVA_HOME하면 간단하기 때문에 SystemUtils가 쓸만합니다.
SystemUtils의 변수들은 모두 static 변수이기 때문에 SystemUtils 객체생성 없이 SystemUtils.XXX로 바로 사용할 수 있습니다.
예) System.out.println("SystemUtils.FILE_ENCODING : "+SystemUtils.FILE_ENCODING);
| 반환값 | 변수명 | 설명 | 
| String | SystemUtils.FILE_ENCODING | System.getProperty("file.encoding") | 
| String | SystemUtils.FILE_SEPARATOR | System.getProperty("file.separator") | 
| String | SystemUtils.JAVA_CLASS_PATH | System.getProperty("java.class.path") | 
| String | SystemUtils.JAVA_CLASS_VERSION | System.getProperty("java.class.version") | 
| String | SystemUtils.JAVA_COMPILER | System.getProperty("java.compiler") | 
| String | SystemUtils.JAVA_EXT_DIRS | System.getProperty("java.ext.dirs") | 
| String | SystemUtils.JAVA_HOME | System.getProperty("java.home") | 
| String | SystemUtils.JAVA_IO_TMPDIR | System.getProperty("java.io.tmpdir") | 
| String | SystemUtils.JAVA_LIBRARY_PATH | System.getProperty("java.library.path") | 
| String | SystemUtils.JAVA_RUNTIME_NAME | System.getProperty("java.runtime.name") | 
| String | SystemUtils.JAVA_RUNTIME_VERSION | System.getProperty("java.runtime.version") | 
| String | SystemUtils.JAVA_SPECIFICATION_NAME | System.getProperty("java.specification.name") | 
| String | SystemUtils.JAVA_SPECIFICATION_VENDOR | System.getProperty("java.specification.vendor") | 
| String | SystemUtils.JAVA_SPECIFICATION_VERSION | System.getProperty("java.specification.version") | 
| String | SystemUtils.JAVA_VENDOR | System.getProperty("java.vendor") | 
| String | SystemUtils.JAVA_VENDOR_URL | System.getProperty("java.vendor.url") | 
| String | SystemUtils.JAVA_VERSION | System.getProperty("java.version") | 
| String | SystemUtils.JAVA_VM_INFO | System.getProperty("java.vm.info") | 
| String | SystemUtils.JAVA_VM_NAME | System.getProperty("java.vm.name") | 
| String | SystemUtils.JAVA_VM_SPECIFICATION_NAME | System.getProperty("java.vm.specification.name") | 
| String | SystemUtils.JAVA_VM_SPECIFICATION_VENDOR | System.getProperty("java.vm.specification.vendor") | 
| String | SystemUtils.JAVA_VM_SPECIFICATION_VERSION | System.getProperty("java.vm.specification.version") | 
| String | SystemUtils.JAVA_VM_VENDOR | System.getProperty("java.vm.vendor") | 
| String | SystemUtils.JAVA_VM_VERSION | System.getProperty("java.vm.version") | 
| String | SystemUtils.LINE_SEPARATOR | System.getProperty("line.separator") | 
| String | SystemUtils.OS_ARCH | System.getProperty("os.arch") | 
| String | SystemUtils.OS_NAME | System.getProperty("os.name") | 
| String | SystemUtils.OS_VERSION | System.getProperty("os.version") | 
| String | SystemUtils.PATH_SEPARATOR | System.getProperty("path.separator") | 
| String | SystemUtils.USER_COUNTRY | System.getProperty("user.country") != null ? System.getProperty("user.country") : System.getProperty("user.region") | 
| String | SystemUtils.USER_DIR | System.getProperty("user.dir") | 
| String | SystemUtils.USER_HOME | System.getProperty("user.home") | 
| String | SystemUtils.USER_LANGUAGE | System.getProperty("user.language") | 
| String | SystemUtils.USER_NAME | System.getProperty("user.name") | 
| float | JAVA_VERSION_FLOAT | 자바 버젼을 float형으로 | 
| int | JAVA_VERSION_INT | 자바 버젼을 int형으로 | 
| boolean | IS_JAVA_1_1 | 자바버젼이 1.1인가? | 
| boolean | IS_JAVA_1_2 | 자바버젼이 1.2인가? | 
| boolean | IS_JAVA_1_3 | 자바버젼이 1.3인가? | 
| boolean | IS_JAVA_1_4 | 자바버젼이 1.4인가? | 
| boolean | IS_JAVA_1_5 | 자바버젼이 1.5인가? | 
| boolean | IS_OS_AIX | 운영체제가 AIX인가? | 
| boolean | IS_OS_HP_UX | 운영체제가 HP Unix인가? | 
| boolean | IS_OS_IRIX | 운영체제가 IRIX인가? | 
| boolean | IS_OS_LINUX | 운영체제가 LINUX인가? | 
| boolean | IS_OS_MAC | 운영체제가 MAC인가? | 
| boolean | IS_OS_MAC_OSX | 운영체제가 MAC OSX인가? | 
| boolean | IS_OS_OS2 | 운영체제가 OS2인가? | 
| boolean | IS_OS_SOLARIS | 운영체제가 SOLARIS인가? | 
| boolean | IS_OS_SUN_OS | 운영체제가 SUN인가? | 
| boolean | IS_OS_WINDOWS | 운영체제가 WINDOW인가? | 
| boolean | IS_OS_WINDOWS_2000 | 운영체제가 WINDOW 2k인가? | 
| boolean | IS_OS_WINDOWS_95 | 운영체제가 WINDOW 95인가? | 
| boolean | IS_OS_WINDOWS_98 | 운영체제가 WINDOW 98인가? | 
| boolean | IS_OS_WINDOWS_ME | 운영체제가 WINDOW ME인가? | 
| boolean | IS_OS_WINDOWS_NT | 운영체제가 WINDOW NT인가? | 
| boolean | IS_OS_WINDOWS_XP | 운영체제가 WINDOW XP인가? | 
이를 바탕으로 제 컴(win2k)에서 출력한 결과입니다.
| 변수명 | 출력결과 | 
| SystemUtils.FILE_ENCODING | MS949 | 
| SystemUtils.FILE_SEPARATOR | \ | 
| SystemUtils.JAVA_CLASS_PATH | C:\Tomcat 4.1\bin\bootstrap.jar | 
| SystemUtils.JAVA_CLASS_VERSION | 48.0 | 
| SystemUtils.JAVA_COMPILER | null | 
| SystemUtils.JAVA_EXT_DIRS | C:\j2sdk1.4.2_06\jre\lib\ext | 
| SystemUtils.JAVA_HOME | C:\j2sdk1.4.2_06\jre | 
| SystemUtils.JAVA_IO_TMPDIR | C:\DOCUME~1\kitty1\LOCALS~1\Temp\ | 
| SystemUtils.JAVA_LIBRARY_PATH | C:\j2sdk1.4.2_06\bin;.;C:\WINNT\system32;C:\WINNT; | 
| SystemUtils.JAVA_RUNTIME_NAME | Java(TM) 2 Runtime Environment, Standard Edition | 
| SystemUtils.JAVA_RUNTIME_VERSION | 1.4.2_06-b03 | 
| SystemUtils.JAVA_SPECIFICATION_NAME | Java Platform API Specification | 
| SystemUtils.JAVA_SPECIFICATION_VENDOR | Sun Microsystems Inc. | 
| SystemUtils.JAVA_SPECIFICATION_VERSION | 1.4 | 
| SystemUtils.JAVA_VENDOR | Sun Microsystems Inc. | 
| SystemUtils.JAVA_VENDOR_URL | http://java.sun.com/ | 
| SystemUtils.JAVA_VERSION | 1.4.2_06 | 
| SystemUtils.JAVA_VM_INFO | mixed mode | 
| SystemUtils.JAVA_VM_NAME | Java HotSpot(TM) 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 | 1.4.2_06-b03 | 
| SystemUtils.LINE_SEPARATOR | |
| SystemUtils.OS_ARCH | x86 | 
| SystemUtils.OS_NAME | Windows 2000 | 
| SystemUtils.OS_VERSION | 5.0 | 
| SystemUtils.PATH_SEPARATOR | ; | 
| SystemUtils.USER_COUNTRY | KR | 
| SystemUtils.USER_DIR | C:\Tomcat 4.1 | 
| SystemUtils.USER_HOME | C:\Documents and Settings\kitty1 | 
| SystemUtils.USER_LANGUAGE | ko | 
| SystemUtils.USER_NAME | kitty1 | 
| JAVA_VERSION_FLOAT | 1.42 | 
| JAVA_VERSION_INT | 142 | 
| IS_JAVA_1_1 | false | 
| IS_JAVA_1_2 | false | 
| IS_JAVA_1_3 | false | 
| IS_JAVA_1_4 | true | 
| IS_JAVA_1_5 | false | 
| IS_OS_AIX | false | 
| IS_OS_HP_UX | false | 
| IS_OS_IRIX | false | 
| IS_OS_LINUX | false | 
| IS_OS_MAC | false | 
| IS_OS_MAC_OSX | false | 
| IS_OS_OS2 | false | 
| IS_OS_SOLARIS | false | 
| IS_OS_SUN_OS | false | 
| IS_OS_WINDOWS | true | 
| IS_OS_WINDOWS_2000 | true | 
| IS_OS_WINDOWS_95 | false | 
| IS_OS_WINDOWS_98 | false | 
| IS_OS_WINDOWS_ME | false | 
| IS_OS_WINDOWS_NT | false | 
| IS_OS_WINDOWS_XP | false | 
위의 결과값을 보니 너무 유용하게 사용되겠죠? ^^
=============================================
본문서는 자유롭게 배포/복사 할수 있지만
이문서의 저자에 대한 언급을 삭제하시면 안됩니다
저자 : GoodBug (unicorn@jakartaproject.com)
최초 : http://www.jakartaproject.com
=============================================





