'자바'에 해당되는 글 10

  1. 2012.01.30 java] Properties 파일의 활용. 1
IT_Expert/Java & Jsp | Posted by 낫기법필 2012. 1. 30. 11:26

java] Properties 파일의 활용.

쥔장======================================
java에서는 Properties 파일을 이용해서 각종 설정 값들을 세팅하여 활용할 수 있다.
이를 컨트롤 하여 환경 설정에 대해 원활한 작업이 되도록 해보자.
========================================== 

Properties 파일을 활용하기 위해서 library 를 추가한다.

import java.util.Properties;

또한 파일 처리를 하는 것이기 때문에 이에 대한 관련 library 도 필요하다.

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

이와 같이 선행 적으로 필요한 library 들을 설정하도록 하자.

이제 준비가 되었다면 Properties 파일을 읽고 쓰는 것에 대해서 확인하여 보자.

먼저 읽기 를 처리해보자.

// 당연히 Properties 를 활용하려면 객체를 선언해야지.
Properties prop = new Properties();

// 파일을 읽어들이기 위해 FileInputStream 을 이용한다.
// 당연히 파일을 읽으려면 파일의 경로가 필요하지.
// 예) /testsvr01/app/web/conf/setting.properties
InputStream fis = new FileInputStream("FILE_PATH");

// 해당 파일을 Load 하도록 하자.
prop.load(fis);

// stream 을 닫아주자.
fis.close();

// 읽어들이 properties 파일에서 원하는 값을 가져오자.
// ROOT_PATH는 properties에 정의해놓은 key이다.
String sRootPath = prop.getProperty("ROOT_PATH");

System.outprintln("ROOT PATH : [" + sRootPath + "]");

==> 결과 :  ROOT PATH : [/testsvr01/app/web/root]
      (setting.properties 파일에 ROOT_PATH=/testsvr01/app/web/root 라고 저장을 했다고 가정한다.)

간단하다. 어려운 것이 없다.




그럼 이제 쓰기를 해보자.

쓰기 또한 읽기처럼 간단하다. 과정도 똑같다~
 
// 당연히 Properties 를 활용하려면 객체를 선언해야지.
Properties prop = new Properties();

// 파일을 읽어들이기 위해 FileInputStream 을 이용한다.
// 당연히 파일을 읽으려면 파일의 경로가 필요하지.
// 예) /testsvr01/app/web/conf/setting.properties
InputStream fis = new FileInputStream("FILE_PATH");

prop.load(fis);

fis.close();

// 파일을 쓰기 위해 FileOutputStream 을 이용한다.
OutputStream fos = new FileOutputStream("FILE_PATH");

// 값을 설정하자.
prop.setProperty("ROOT_PATH", "
/testsvr01/app/web/root_2");

// 저장하자.
prop.store(fos, "comment");

// 스트림 닫자.
fos.close();



이렇게 파일을 저장 후 확인하여 보면
      (setting.properties 파일에 ROOT_PATH=/testsvr01/app/web/root_2 라고 저장이 되었음을 확인할 수 있다.) 





이렇게 가끔 동적으로 컨트롤 하기 위해 필요한 경우가 있으니 정리해두자.