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); } }
댓글 없음:
댓글 쓰기