"System.getProperty()" 사용법
자바를 실행할 때, 실행되는 곳의 정보를 얻어오거나 운영체제의 정보가 필요할 때가 있습니다.
실행 위치에 있는 파일을 읽어드려야 하는데, 현재 위치를 알 수 있는 방법 등 시스템의 정보를 가져올때 System.getProperty() 를 사용합니다.
System.getProperty() 으로 괄호 안에 주어진 특정 문자를 적어넣으면 그 값이 String 으로 출력됩니다.
String dir = System.getProperty("user.home");
System.out.println(dir);
// 리눅스 인 경우 /home/유저명/
// macOS인 경우 //Users/유저명/
Property 주요 검색어
검색어 | 뜻 |
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 |
현재 디렉토리 |
property 확인 메소드해보기
import java.util.Properties; public class Test { } |
전혀 없는 키 만들기
전혀 없는 키값인데, System.getProperty("file.location.env"); 라면서 사용하는 경우가 있습니다.
이럴경우, JVM 의 VM arguments 부분을 살펴보면 다음과 같이 세팅되어 있다.
System.getProperty("file.location.env");
를 사용하기 위해서 JVM 의 VM arguments 부분에 설정해 주세요.
-Dfile.location.env="./fileUploads/"
JVM의 VM arguments 는 JVM을 구동할때, 필요한 여러가지 값을 세팅하는 것인데 -D하고 바로뒤에 키="값"을 세팅하면
프로그램내에서 System.getProperty("키"); 를 통해 값을 가져올 수 있습니다.
ava.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 |
'자바의정석' 카테고리의 다른 글
[자바의정석] 가변인자(varargs) (0) | 2021.06.25 |
---|---|
배열 크기 순 정렬 / 버블정렬 알고리즘 (0) | 2021.05.02 |
@SuppressWarning (0) | 2021.04.16 |
lastIndexOf (0) | 2021.04.12 |
System.out.printf('%2d', x); %2d란?? (0) | 2021.04.06 |