System.getProperty() 를 사용하는 이유?

자바를 실행할 때, 실행되는 곳의 정보를 얻어오거나 운영체제의 정보가 필요할 때가 있습니다.

예를 들면 이미지를 업로드하고 화면에 뿌려줄 때 개발환경과 배포환경 os 가 다를 경우가 있겠죠.

만약 프로젝트를 개발시엔 윈도우를 사용하고 배포를 리눅스 환경에 시도 한다고 합시다.

윈도우에서 개발할 때는 이미지가 제대로 뿌려지지만 동일한 코드로 리눅스 환경에서 실행하게 되면 이미지가 엑박이 뜨게 될 겁니다.

이런 경우에 이미지에 대한 경로를 여러 환경에 맞춰 application.yml 에서 하드 코딩하는 방법도 있을 겁니다.

하지만 System.getProperty() 를 사용하면 좀 더 유연하게 코드를 작성할 수 있습니다.

"System.getProperty()" 사용법

실행 위치에 있는 파일을 읽어드려야 하는데, 현재 위치를 알 수 있는 방법 등 시스템의 정보를 가져올때 System.getProperty() 를 사용합니다.

System.getProperty() 으로 괄호 안에 주어진 특정 문자를 적어넣으면 그 값이 String 으로 출력됩니다.

String dir = System.getProperty("user.home");
System.out.println(dir);

// 리눅스인 경우 - /home/유저명/
// 리눅스인 경우(root 계정일 때) - /root/
// macOS인 경우 - //Users/유저명/
// window인 경우 - C:/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 현재 디렉토리