11.5.4 시스템 프로퍼티 읽기 ( getProperty() )
시스템 프로퍼티 (System Property ) 는 JVM 이 시작할 때 자동 설정되는 시스템의 속성값을 말한다. 예를 들어 운영체제의 종류 및 자바 프로그램을 실행시킨 사용자 아이디, JVM 의 버전, 운영체제에서 사용되는 파일 경로 구분자 등이 여기에 속한다. 시스템 프로퍼티는 키(key) 와 값 (value)으로 구성되어 있다. 대표적인 키와 값에 대한 설명은 다음표에 나와 있다.
키 | 설명 | 값 |
java.version | 자바의 버전 | 1.8._20 |
java.home | 사용하는 JRE의 파일 경로 | <jdk 설치경로>\jre |
os.name | Operating system name | Windows 7 |
file.separator | File separator("/" on UNIX) | \ |
user.name | 사용자의 이름 | 사용자계정 |
user.home | 사용자의 홈 디렉토리 | C:\Users\사용자계정 |
user.dir | 사용자가 현재 작업 중인 디렉토리 경로 | 다양 |
시스템 프로퍼티를 읽어오기 위해서는 System.getProperty() 메소드를 이용하면 된다. 이 메소드는 시스템 프로퍼티의 키 이름을 매개값으로 받고, 해당 키에 대한 값을 문자열로 리턴한다.
String value =System.getProperty(String key);
다음 예제에서는 운영체제 이름, 사용자 이름, 사용자 홈 디렉토리를 알아내고 출력한다. 그리고 모든 시스템 프로퍼티를 키와 값으로 출력해 보았다.
package egoing; import java.util.Properties; import java.util.Set; public class GetPropertyExample2 { public static void main(String[] args) { String osName =System.getProperty("os.name"); String userNmae =System.getProperty("user.name"); String userHome =System.getProperty("user.home"); String fileSeparator =System.getProperty("file.separator"); System.out.println(osName); System.out.println(userNmae); System.out.println(userHome); System.out.println(fileSeparator); System.out.println("================"); System.out.println("[ key ] value" ); System.out.println("-----------------"); Properties props =System.getProperties(); Set keys =props.keySet(); for(Object objKey : keys){ String key =(String)objKey; String value =System.getProperty(key); System.out.println("[" + key + " ]" + value); } } }
Windows 7
choi
C:\Users\choi
\
================
[ key ] value
-----------------
[java.runtime.name ]Java(TM) SE Runtime Environment
[sun.boot.library.path ]C:\Program Files\Java\jdk1.8.0_73\jre\bin
[java.vm.version ]25.73-b02
[java.vm.vendor ]Oracle Corporation
[java.vendor.url ]http://java.oracle.com/
[path.separator ];
[java.vm.name ]Java HotSpot(TM) 64-Bit Server VM
[file.encoding.pkg ]sun.io
[user.country ]KR
[user.script ]
[sun.java.launcher ]SUN_STANDARD
[sun.os.patch.level ]Service Pack 1
[java.vm.specification.name ]Java Virtual Machine Specification
[user.dir ]C:\Java_Work\ThisIsJava\egoing
[java.runtime.version ]1.8.0_73-b02
[java.awt.graphicsenv ]sun.awt.Win32GraphicsEnvironment
[java.endorsed.dirs ]C:\Program Files\Java\jdk1.8.0_73\jre\lib\endorsed
[os.arch ]amd64
[java.io.tmpdir ]C:\Users\choi\AppData\Local\Temp\
[line.separator ]
[java.vm.specification.vendor ]Oracle Corporation
[user.variant ]
[os.name ]Windows 7
[sun.jnu.encoding ]MS949
[java.library.path ]C:\Program Files\Java\jdk1.8.0_73\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jdk1.8.0_73/bin/../jre/bin/server;C:/Program Files/Java/jdk1.8.0_73/bin/../jre/bin;C:/Program Files/Java/jdk1.8.0_73/bin/../jre/lib/amd64;C:\Program Files (x86)\Java\jdk1.8.0_73\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Java\jdk1.8.0_73\bin;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\Program Files (x86)\Wizvera\Delfino;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Common Files\HP\Digital Imaging\bin;C:\Program Files (x86)\HP\Digital Imaging\bin\;C:\Program Files (x86)\HP\Digital Imaging\bin\Qt\Qt 4.3.3;C:\Program Files\AMI\DuOS\;C:\AutoSet8\server\MySQL5\bin;C:\AutoSet10\Server\conf\;C:\AutoSet10\Server\bin\;C:\curl-7.33.0-win64-ssl-sspi;C:\Program Files (x86)\nodejs\;C:\Program Files\Git\cmd;;C:\AutoSet_ci\Server\conf\;C:\AutoSet_ci\Server\bin\;C:\ProgramData\ComposerSetup\bin;C:\Maven 3.3.3\apache-maven-3.3.3\bin;C:\Program Files\AMI\DuOS\;C:\Users\choi\AppData\Roaming\npm;C:\Users\choi\AppData\Roaming\Composer\vendor\bin;C:\eclipseEE\eclipse;;.
[java.specification.name ]Java Platform API Specification
[java.class.version ]52.0
[sun.management.compiler ]HotSpot 64-Bit Tiered Compilers
[os.version ]6.1
[user.home ]C:\Users\choi
[user.timezone ]
[java.awt.printerjob ]sun.awt.windows.WPrinterJob
[file.encoding ]MS949
[java.specification.version ]1.8
[java.class.path ]C:\Java_Work\ThisIsJava\egoing\bin
[user.name ]choi
[java.vm.specification.version ]1.8
[sun.java.command ]egoing.GetPropertyExample2
[java.home ]C:\Program Files\Java\jdk1.8.0_73\jre
[sun.arch.data.model ]64
[user.language ]ko
[java.specification.vendor ]Oracle Corporation
[awt.toolkit ]sun.awt.windows.WToolkit
[java.vm.info ]mixed mode
[java.version ]1.8.0_73
[java.ext.dirs ]C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
[sun.boot.class.path ]C:\Program Files\Java\jdk1.8.0_73\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_73\jre\classes
[java.vendor ]Oracle Corporation
[file.separator ]\
[java.vendor.url.bug ]http://bugreport.sun.com/bugreport/
[sun.io.unicode.encoding ]UnicodeLittle
[sun.cpu.endian ]little
[sun.desktop ]windows
[sun.cpu.isalist ]amd64
댓글 ( 4)
댓글 남기기