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()를 활용하면 전체 환경 설정을 한 번에 출력할 수 있어,
환경 구성 확인, 플랫폼별 분기 처리, 로그 기록 등에서 적극 활용할 수 있습니다.