[Day 7 | Java] Properties

y♡ding·2024년 10월 22일
0

데브코스 TIL

목록 보기
39/163

Properties 클래스는 키와 값을 문자열(String) 형태로 저장하는 특수한 HashMap 클래스입니다. 자바에서 설정 파일(예: .properties 파일)을 읽고 쓰는 데 자주 사용되며, 시스템 설정이나 애플리케이션의 구성 정보를 관리할 때 유용합니다. 기본적으로 키-값 쌍으로 데이터를 저장하는데, 키와 값이 모두 문자열로 제한됩니다.

Properties 클래스는 자바의 Hashtable 클래스를 상속받았으며, 키와 값이 모두 문자열이어야 한다는 특징을 제외하고는 다른 맵 클래스와 유사한 동작을 합니다.


주요 특징:

  1. 문자열 기반: Properties키와 값이 모두 문자열로 저장됩니다.
  2. 파일 입출력 지원: .properties 파일 형태로 설정 정보를 읽고 쓰는 기능을 제공합니다.
  3. 시스템 설정 접근: 자바 시스템 설정이나 환경 변수 등의 정보를 쉽게 얻을 수 있습니다.

수업코드


package com.util1;

import java.util.Properties;
import java.util.Set;

public class PropertiesEx01 {
    public static void main(String[] args) {

        // 1. Properties 객체 생성 (사용자 정의 설정 값 저장용)
        // Properties는 키-값 쌍을 저장하는 클래스로, 문자열 기반 설정 정보를 관리할 때 사용됨
        Properties prop = new Properties();

        // 2. 사용자 설정 값 저장 (setProperty 메서드 사용)
        prop.setProperty("timeout", "30");    // timeout 설정 (문자열로 저장)
        prop.setProperty("language", "kr");   // language 설정
        prop.setProperty("size", "10");       // size 설정
        prop.setProperty("capacity", "10");   // capacity 설정

        // 3. 저장된 모든 키-값 쌍 출력
        // Properties 객체 자체를 출력하면 내부에 저장된 모든 키-값 쌍이 출력됨
        System.out.println(prop);  // 출력: {timeout=30, language=kr, size=10, capacity=10}

        // 4. Properties에 저장된 설정 항목 개수 출력
        System.out.println(prop.size());  // 4

        // 5. 특정 설정 값을 가져와 출력 (getProperty 메서드 사용)
        System.out.println(prop.getProperty("timeout"));   // 30
        System.out.println(prop.getProperty("language"));  // kr

        // 6. 모든 키 값 가져오기 (stringPropertyNames 메서드 사용)
        // 이 메서드는 Properties에 저장된 모든 키를 Set<String>으로 반환함
        Set<String> names = prop.stringPropertyNames();
        // 반복문을 통해 모든 키 출력
        for (String name : names) {
            System.out.println(name);  // 출력: timeout, language, size, capacity
        }

        // 7. 시스템 속성 값 가져오기
        // System.getProperties() 메서드를 통해 JVM의 시스템 속성 정보를 가져옴
        Properties prop2 = System.getProperties();

        // 8. 시스템 속성에 저장된 모든 키를 가져오기
        Set<String> keys = prop2.stringPropertyNames();
        // 반복문을 통해 모든 시스템 속성 키 출력
        for (String key : keys) {
            System.out.println(key);  // 각 시스템 속성의 키값 출력
        }

        // 9. 특정 시스템 속성 값 가져오기 (OS 이름, 줄바꿈, 자바 버전 등)
        System.out.println(prop2.getProperty("os.name"));           // 운영체제 이름 출력
        System.out.println(prop2.getProperty("line.separator"));    // 줄바꿈 문자 출력 (보통 \n, \r\n 등)
        System.out.println(prop2.getProperty("java.version"));      // 자바 버전 출력
    }
}

0개의 댓글

관련 채용 정보