Java에서 System.getProperty()
Language/JAVA 2014. 1. 2. 15:54
프로그램을 작성하다 보면 운영체제(OS)나 JVM 에 의존적인 정보를 알아야 할 때가 있다. 이때, System.getProperty(key) 메소드를 이용하여 각종 정보를 알수 있는데 key 부분에 알고자하는 키값을 넣으면 키에 해당하는 정보를 알려준다. 키는 아래와 같다. 키=값 형태로 나타나 있는데 앞에 있는 키를 넣으면 뒤에있는 값이 나온다는 말이다. 각자 시스템에 따라 다른값이 나온다. 예를들어 System.getProperty("java.vm.version"); 을 하면 1.5.0_18-b02 값이 반환된다.
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition java.runtime.version=1.5.0_18-b02 java.vm.specification.vendor=Sun Microsystems Inc. java.specification.name=Java Platform API Specification * property 확인 메소드 import java.util.Properties; public class Test { }
* 참고로 간혹 위에 없는 키값을 사용해서 당황해 하는 경우가 있다. 예를들어 위에는 전혀 없는 키값인데, System.getProperty("file.location.env"); 라면서 사용하는 경우가 있다. 이럴경우, JVM 의 VM arguments 부분을 살펴보면 다음과 같이 세팅되어 있다. -Dfile.location.env="C:\file\upload" JVM의 VM arguments 는 JVM을 구동할때, 필요한 여러가지 값을 세팅하는 것인데 -D하고 바로뒤에 키="값"을 세팅하면 프로그램내에서 System.getProperty("키"); 를 통해 값을 가져올 수 있다. [출처] System.getProperty 정리|작성자 방랑자 |
자바를 실행할 때, 실행되는 곳의 정보를 얻어오거나 운영체제의 정보가 필요할 때가 있습니다.
얼마전에 코드를 작성하면서 실행 위치에 있는 파일을 읽어드려야 하는데, 현재 위치를 알 수 있는 방법이 없을까 하고 찾아보니... System.getProperty()를 사용하여 쉽게 해결할 수 있었습니다.
System.getProperty() 사용법은 간단합니다.
괄호 안에 주어진 특정 문자를 적어넣으면 그 값이 String 으로 출력됩니다.
예를 들어 실행하고 있는 현재 위치가 알고 싶다면 "user.dir" 이라고 적어주면 됩니다.
아래와 같이 "user.dir" 이라고 입력해봅니다.
System.out.println(dir);
그 다음, 컴파일을 하면 아래와 같이 출력됩니다.
검색어 | 뜻 |
java.version | Java 버전 |
java.vendor | Java 공급자 |
java.vendor.url | Java 공급자 주소 |
java.home | Java를 설치한 디렉토리 |
java.class.version | Java 클래스 버전 |
java.class.path | Java 클래스 경로 |
java.ext.dir | 확장기능의 클래스 경로 |
os.name | 운영체제 이름 |
os.arch | 운영체제 아키텍처 |
os.version | 운영체제 버전 정보 |
file.separator | 파일 구분 문자 |
path.separator | 경로 구분 문자 |
line.separator | 행 구분 문자 |
user.name | 사용자 계정 |
user.home | 사용자 홈 디렉토리 |
user.dir | 현재 디렉토리 |
'Language > JAVA' 카테고리의 다른 글
한글, 유니코드의 이해 (0) | 2014.01.14 |
---|---|
정적 변수 정적 메소드 (static) (1) | 2014.01.07 |
tomcat7 cach filter (0) | 2013.12.03 |
jdk7 file write (0) | 2013.11.14 |
double 지수 표현 제거 (0) | 2013.11.13 |