자바

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
 

 

about author

PHRASE

Level 60  머나먼나라

인간은 오로지 스스로의 노력에 의하여서만 보답을 받을 수 있는 것이다. 노력은 인간을 참된 세계로 이끈다. -코란

댓글 ( 4)

댓글 남기기

작성

자바 목록    more