일반 java.util.Properties 파일 사용 예제

황제낙엽 2010.04.06 05:46 조회 수 : 642 추천:152

sitelink1 http://hmjkor.tistory.com/182 
sitelink2  
sitelink3 http://1 
sitelink4 http://ko 
sitelink5  
sitelink6 http://sitelink1 

1. Util 클래스

 

package util;

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Map;

import java.util.Properties;

 

public class PropertiesUtil {

    

    private final static String DEFAULT_PROPERTIES_PATH = "program.properties";

    public static String USER_PROPERTIES_PATH = null;

 

    public static String getDefaultPropertiesPath() {

        return DEFAULT_PROPERTIES_PATH;

    }

    

    public static String getKey(String key) throws Exception {

 

        // ClassLoader.getResourceAsStream("some/pkg/resource.properties");

        // Class.getResourceAsStream("/some/pkg/resource.properties");

        // ResourceBundle.getBundle("some.pkg.resource");

        String value = null;

        InputStream is = (USER_PROPERTIES_PATH != null) ? new FileInputStream(USER_PROPERTIES_PATH) : new FileInputStream(DEFAULT_PROPERTIES_PATH);

        Properties p = null;

        try {

            p = new Properties();

            p.load(is);

            value = p.getProperty(key);

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                is.close();

            } catch (IOException e) {

            }

        }

        return value;

    }

 

    /**

     * 프로퍼티 파일에 사용자 값을 넣는다.

     */

    public static void putPropertie(Map<String, String> paramMap) throws FileNotFoundException, IOException {

        // 프로퍼티 파일 경로 key

        Properties proper = null;

        FileOutputStream output = null;

        try {

            String comment = paramMap.get("properties.comment").toString();

            output = new FileOutputStream((USER_PROPERTIES_PATH != null) ? USER_PROPERTIES_PATH : DEFAULT_PROPERTIES_PATH);

            proper = new Properties();

            proper.putAll(paramMap);

            proper.store(output, comment);

        } catch (FileNotFoundException fnfe) {

            throw new FileNotFoundException("properties 파일을 찾을수 없습니다 : "+fnfe);

        } catch (IOException ioe) {

            throw new IOException("putPropertie Exception!", ioe);

        } finally {

            try {

                if (output != null)

                    output.close();

            } catch (IOException e) {

                throw e;

            }

        }

    }

 

    /**

     * @param args

     */

    public static void main(String[] args) throws Exception {

        

        PropertiesUtil.USER_PROPERTIES_PATH = "D:\\abc.properties";

        

        // 테스트 코드

        Map<String, String> paramMap = new HashMap<String, String>();

        paramMap.put("properties.comment", "UPDATE_ENV");

        paramMap.put("name", "홍길동");

        paramMap.put("age", "31");

        paramMap.put("phone", "0111234567");

        PropertiesUtil.putPropertie(paramMap);

 

 

        System.out.println(PropertiesUtil.getDefaultPropertiesPath());

        System.out.println(PropertiesUtil.getKey("name"));

    }

}

 
 
 
 
2. 사용예제
 
PropertiesUtil.USER_PROPERTIES_PATH = "D:\\TOBE_TFS_WIT\\TOBE_TFS_WIT.PROPERTIES";
if (PropertiesUtil.existsPropertiesFile()) {
if (PropertiesUtil.get("WITADMINEXE_PATH") != null)
UpdateEnv.WITADMINEXE_PATH = PropertiesUtil.get("WITADMINEXE_PATH");
if (PropertiesUtil.get("COLLECTION_URL") != null)
UpdateEnv.COLLECTION_URL = PropertiesUtil.get("COLLECTION_URL");
}
번호 제목 글쓴이 날짜 조회 수
186 Class.getResource() 와 ClassLoader.getResource()의 차이점 황제낙엽 2010.06.25 732
185 Designing RMI Applications 황제낙엽 2010.06.24 3039
184 Java Node to String Conversion 황제낙엽 2010.06.10 670
183 Java SE 6 Mustang 5장 스크립팅 기능 (번역중) 황제낙엽 2010.06.10 662
182 Java6 에서 지원하는 Scripting (번역중) 황제낙엽 2010.05.28 722
181 RMI 시작하기(2) file 황제낙엽 2010.05.27 731
180 RMI 시작하기(1) file 황제낙엽 2010.05.27 670
179 Java Remote Method Invocation (Java RMI) 황제낙엽 2010.05.27 638
178 javax.script API 관련 스크랩 (ScriptEngine, ScriptEngineManager) 황제낙엽 2010.05.25 669
» java.util.Properties 파일 사용 예제 file 황제낙엽 2010.04.06 642
176 10진수 <-> 16진수(Hex) 변환 file 황제낙엽 2010.03.29 1786
175 ServletConfig 이용하기 황제낙엽 2010.03.15 667
174 16비트 CRC 체크용 클래스 (사용자 클래스) 황제낙엽 2010.03.14 980
173 파일을 읽어서 CRC 값을 연산하는 메서드 (java.util.zip.CRC32) 황제낙엽 2010.03.14 777
172 byte배열에 대한 CRC 를 계산하는 메서드 (java.util.zip.CRC32) 황제낙엽 2010.03.14 2837
171 java의 List와 반복문(loop), 그리고 변수 선언 위치에 대해서 황제낙엽 2010.02.17 1168
170 메모리 유출과 약한 참조 황제낙엽 2010.01.26 1104
169 Methods of the Matcher Class 황제낙엽 2010.01.19 792
168 Pattern.matches() , Matcher.matches() , Matcher.find() file 황제낙엽 2010.01.19 918
167 java.lang.IllegalArgumentException 황제낙엽 2010.01.18 137769