쥔장======================================
java에서는 Properties 파일을 이용해서 각종 설정 값들을 세팅하여 활용할 수 있다.
이를 컨트롤 하여 환경 설정에 대해 원활한 작업이 되도록 해보자.
==========================================
Properties 파일을 활용하기 위해서 library 를 추가한다.
import java.util.Properties;
또한 파일 처리를 하는 것이기 때문에 이에 대한 관련 library 도 필요하다.
이와 같이 선행 적으로 필요한 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 라고 저장이 되었음을 확인할 수 있다.)
이렇게 가끔 동적으로 컨트롤 하기 위해 필요한 경우가 있으니 정리해두자.
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 라고 저장이 되었음을 확인할 수 있다.)
이렇게 가끔 동적으로 컨트롤 하기 위해 필요한 경우가 있으니 정리해두자.