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"));
}
}