java.util.Properties
property 들을 java 파일 내부에서 설정하여 사용하는 것은 프로그래밍하기는 쉽지만 단점이 더 만다.
설정 정보를 변경하기 위해서는 소스 코드를 재컴파일해야 한다는 점이다.
배포 시 각 환경에 맞게 소스 내의 property 설정을 수정하여 일일히 재컴파일을 해야하는 문제가 생긴다.
이러한 문제를 해결하기 위한 방법으로 property 설정 파일을 이용할 수 있다.
java.util.Properties Class를 사용하여 property 정보를 읽어 올 수 있다.
Method 목록은 아래에 있는 Java Document 참고.
Test
import java.util.*;
import java.io.*;
public class Test130701 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Properties prop = new Properties();
prop.setProperty("timeout", "30");
prop.setProperty("language", "kr");
prop.setProperty("size", "10");
prop.setProperty("capacity", "10");
Enumeration e = prop.propertyNames();
while (e.hasMoreElements()) {
String element = (String)e.nextElement();
System.out.println(element + " = " + prop.getProperty(element));
}
System.out.println();
prop.setProperty("size", "20");
System.out.println("size = " + prop.getProperty("size"));
System.out.println("capacity = " + prop.getProperty("capacity", "20"));
System.out.println("loadfactor = " + prop.getProperty("loadfactor", "0.75"));
System.out.println(prop);
prop.list(System.out);
String fileName = "output_test.txt";
Properties prop2 = new Properties();
try {
prop.store(new FileOutputStream(fileName), "Test");
prop.storeToXML(new FileOutputStream("output_test.xml"), "Test");
prop2.load(new FileInputStream(fileName));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println();
String size = prop2.getProperty("size");
System.out.println("Size : " + size);
}
}
댓글 없음:
댓글 쓰기