
Properties 클래스는 Hashtable을 상속하는 자바의 유틸리티 클래스 중 하나로 이 클래스는 주로 구성 설정을 저장하고 로드하는 데 사용된다.
주요 특징
Properties 클래스의 키와 값은 모두 String 타입으로 제한됩니다. 이는 구성 설정을 다루기 위해 설계된 클래스의 특성상 문자열이 일반적으로 사용되기 때문이다.
Properties 클래스는 파일로부터 속성을 읽어오거나 파일에 속성을 저장할 수 있는 메서드를 제공한다. 이를 통해 구성 파일을 쉽게 다룰 수 있다.
Properties 객체는 기본 프로퍼티 집합을 가질 수 있다. 기본 프로퍼티 집합은 주어진 키에 대해 주어진 프로퍼티가 없을 때 사용할 수 있는 대체 프로퍼티이다.
주요 사용 사례
Properties 클래스는 Hashtable의 메서드를 모두 상속하지만 실제로 사용할 때는 Properties에 새로 정의된 고유한 메서드를 사용하는 경우가 많다. 따라서 해당 글에서는 Properties 고유의 메서드만 다룬다.
| 메서드 | 기능 |
|---|---|
| Properties() | Properties 객체를 생성 |
| Properties(Properties defaults) | 지정된 Properties에 저장된 목록을 가진 Properties 객체를 생성 |
| 메서드 | 기능 |
|---|---|
| String getProperty(String key) | 지정된 키(key)의 값(value)을 반환 |
| String getProperty(String key, String defaultValue) | 지정된 키(key)의 값(value)을 반환 키를 못찾으면 defaultValue를 반환 |
| Object setProperty(String key, String value) | 지정된 키와 값을 저장 이미 존재하는 키(key)면 새로운 값(value)으로 변경 |
| Enumeration propertyNames() | 목록의 모든 키(key)가 담긴 Enumeration을 반환 |
| Set stringPropertyNames() | Properties에 저장되어 있는 모든 키(key)를 Set에 담아서 반환 |
| 메서드 | 기능 |
|---|---|
| void load(InputStream inStream) | 지정된 InputStream으로부터 목록을 읽어서 저장 |
| void load(Reader reader) | 지정된 Reader로부터 목록을 읽어서 저장 |
| void loadFromXML(InputStream in) | 지정된 InputStream으로부터 XML문서를 읽어서, XML문서에 저장된 목록을 읽어다 담는다. (load & store) |
| void store(OutputStream out, String comments) | 저장된 목록을 지정된 OutputStream에 출력(저장) comments는 목록에 대한 주석으로 저장 |
| void store(Writer writer, String comments) | 저장된 목록을 지정된 Writer에 출력(저장) comments는 목록에 대한 주석으로 저장 |
| void storeToXML(OutputStream os, String comment) | 저장된 목록을 지정된 출력스트림에 XML 문서로 출력(저장) comments는 목록에 대한 설명(주석)으로 저장 |
| void storeToXML(OutputStream os, String comment, String encoding) | 저장된 목록을 지정된 출력스트림에 해당 인코딩의 XML문서로 출력(저장) comment는 목록에 대한 설명(주석)으로 저장 |
| 메서드 | 기능 |
|---|---|
| void list(PrintStream out) | 지정된 PrintStream에 저장된 목록을 출력 |
| void list(PrintWriter out) | 지정된 PrintWriter에 저장된 목록을 출력 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Object o) | 동일한 Hashtable인지 비교 |
| int hashCode() | 해시코드를 반환 |
| 메서드 | 기능 |
|---|---|
| boolean isEmpty() | Hashtable이 비어있는지 확인 |
| int size() | Hashtable에 저장된 key-value 쌍의 개수를 반환 |
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서