Java/자바 정리
108. 시스템 정보 한눈에 확인 – System.getProperty()와 getProperties()
코딩하는냥이
2025. 5. 14. 11:09
반응형
이번 글에서는 System.getProperty()와 System.getProperties()를 사용해
운영체제, 사용자 이름, 홈 디렉토리 등 시스템의 주요 정보를 출력하는 방법을 배워봅니다.
또한 모든 시스템 속성을 반복문으로 한 번에 출력하는 기능도 실습합니다.
📌 예제 코드
import java.util.Properties;
import java.util.Set;
public class GetPropertyExample {
public static void main(String[] args) {
// 자주 사용되는 시스템 속성 조회
String osName = System.getProperty("os.name");
String userName = System.getProperty("user.name");
String userHome = System.getProperty("user.home");
System.out.println(osName);
System.out.println(userName);
System.out.println(userHome);
System.out.println("-".repeat(20));
System.out.println(" key : value ");
System.out.println("-".repeat(20));
// 모든 시스템 속성 조회
Properties props = System.getProperties();
Set keys = props.keySet();
for (Object objKey : keys) {
String key = (String) objKey;
String value = System.getProperty(key);
System.out.printf("%-40s: %s\n", key, value);
}
}
}
💻 실행 결과 (운영체제 및 사용자 환경에 따라 달라짐)
Windows 11
user123
C:\Users\user123
--------------------
key : value
--------------------
java.version : 17.0.9
os.name : Windows 11
user.name : user123
user.home : C:\Users\user123
file.separator : \
...
💬 코드 설명
- System.getProperty(String key)는 지정된 시스템 속성 키에 해당하는 값을 반환합니다.
- 예시로 "os.name", "user.name", "user.home" 등은 운영체제와 사용자 정보를 확인하는 데 자주 사용됩니다.
- System.getProperties()는 모든 시스템 속성을 담은 Properties 객체를 반환하며,
keySet()을 이용해 전체 속성을 순회할 수 있습니다. - String.format() 또는 printf()를 사용하면 키와 값을 정렬된 형태로 출력할 수 있어 가독성이 좋아집니다.
💡 포인트 정리
- System.getProperty()는 시스템 관련 정보를 문자열 형태로 얻을 수 있는 방법입니다.
- 대표적인 시스템 키:
- "os.name" : 운영체제 이름
- "user.name" : 현재 사용자 이름
- "user.home" : 사용자 홈 디렉토리
- "java.version" : 자바 버전
- System.getProperties()는 모든 속성을 Properties 객체로 제공하며,
디버깅이나 환경 점검 시 매우 유용하게 사용됩니다.
📌 정리하자면,
System.getProperty()는 자바에서 시스템 정보를 손쉽게 얻을 수 있는 강력한 도구입니다.
getProperties()를 활용하면 전체 환경 설정을 한 번에 출력할 수 있어,
환경 구성 확인, 플랫폼별 분기 처리, 로그 기록 등에서 적극 활용할 수 있습니다.