본문 바로가기

Java/기본

[Java] 컬렉션프레임워크202 - Properties

개요

properties 클래스는 속성들이 모여서 이우어진 클래스를 의미한다. 주로 프로그램이 구동되기 전에 필요한 실행정보를 미리 입력되도록 해서 1) 실행환경 조율 2) 신속한 구동을 위하는데 그 목적이 있다. 

 

Properties 상속구조

 

주요 메서드

메서드 내용
String getProperty(String key) key 에 해당하는 속성값 가져오기
void list(PrintStream out) 출력 스트림을 통해 속성목록 출력하기
void load(InputStream inStream) 인자로 전달된 입력 스트림으로부터 키와 요소가 한 쌍으로 구성된 속성 목록들을 읽어들여 현 Properties 객체에 저장하기
Enumeration<?> propertyNames() 속성 목록에 있는 모든 key 값을 열거형으로 가져오기
Object setProperty(String key, String value) key와 value 삽입하기(내부적으로 Hashtable의 put()메서드가 호출됨)

 

 

 

코드 예제

import java.util.Enumeration;
import java.util.Properties;

public class Test_Properties {
    public static void main(String[] args) {
        Properties properties = new Properties();

        properties.put("usage", "calculater");
        properties.setProperty("userId", "sudo");
        properties.setProperty("userPw", "QWERTY");

        //속성 key값으로 value 가져오기
        String user = properties.getProperty("usage");
        String id = properties.getProperty("userId");
        String pw = properties.getProperty("userPw");
        String test = properties.getProperty("test");

        System.out.println(user);   //calculater
        System.out.println(id);     //sudo
        System.out.println(pw);     //QWERTY
        System.out.println(test);   //null

        //Enumeration 형태로 key값 가져오기
        Enumeration keys = properties.propertyNames();
        while (keys.hasMoreElements()){
            System.out.print(keys.nextElement() + " "); //userId usage userPw
        }        
        System.out.println();
        
        //출력스트림을 사용해 속성목록 출력하기
        properties.list(System.out);
        /*
        -- listing properties --
        userId=sudo
        usage=calculater
        userPw=QWERTY
         */
    }
}