본문

Properties(JAVA)

반응형

# Properties

Properties는 HashMap의구버전인 Hashtable을 상속받아 구현한 것으로, Hashtable은 키와 값을 (Object,Object)의 형태로 저장하는데 비해 Properties는 (String, String)의 형태로 저장하는 보다 단순화된 컬렉션클래스이다.

주로 어플리케이션의 환경설정과 관련된 속성(property)을 저장하는데 사용되며 데이터를 파일로부터 읽고 쓰는 편리한 기능을 제공한다. 그래서 간단한 입출력은 Propertise를 활용하면 몇 줄의 코드로 쉽게 해결될 수 있다.


Source 01) PropertiesEx01.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package properties;
 
import java.util.Enumeration;
import java.util.Properties;
 
public class PropertiesEx01 {
 
    public static void main(String[] args) {
        Properties prop = new Properties();
 
        // prop에 키(key)와 값(value)을 저장한다.
        prop.setProperty("timeout""30");
        prop.setProperty("language""kr");
        prop.setProperty("size""10");
        prop.setProperty("capacity""10");
 
        // prop에 저장된 요소들을 Enumeration을 이용해서 출력한다.
        Enumeration e = prop.propertyNames();
 
        while (e.hasMoreElements()) {
            String element = (String) e.nextElement();
   // 키 : element, 값 : prop.getProperty(element)
            System.out.println(element + "=" + prop.getProperty(element));
        }
 
        System.out.println();
        prop.setProperty("size""20"); // size의 값을 20으로 변경한다.
        System.out.println("size=" + prop.getProperty("size"));
 
  /*
         * getProperty() 이미 존재하는 키의 값이 있으면 변경x, 존재하지 않는 키면 새로 등록 됨
         */ 
        
  System.out.println("capacity=" + prop.getProperty("capacity""20"));    // 값 변경 안됨
        System.out.println("loadfactor=" + prop.getProperty("loadfactor""0.75"));
 
        System.out.println(prop); // prop에 저장된 요소들을 출력한다.
        System.out.println();
        prop.list(System.out); // prop에 저장된 요소들을 화면(System.out)에 출력한다.
    }
 
}
cs

Result)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
capacity=10
size=10
timeout=30
language=kr
 
size=20
capacity=10
loadfactor=0.75
{capacity=10, size=20, timeout=30, language=kr}
 
-- listing properties --
capacity=10
size=20
timeout=30
language=kr
cs


출처 및 참고자료 : JAVA의정석(남궁성 저)

반응형

공유

댓글