package org.framework.util;
/**
* Created by lizhaoz on 2015/12/16.
*/
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by lizhaoz on 2015/12/13.
*/
public final class PropsUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(PropsUtil.class);
/**
* 加载属性文件
*/
public static Properties loadProps(String fileName){
Properties props=null;
InputStream is=null;
try{
is=Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
if (is==null){
throw new FileNotFoundException(fileName+"file is not found");
}
props=new Properties();
props.load(is);
}
catch (IOException e){
LOGGER.error("load properties file failure", e);
}
finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
LOGGER.error("close input stream failure", e);
}
}
}
return props;
}
/**
* 获取字符型属性(默认值为空字符串)
*/
public static String getString(Properties props,String key){
return getString(props,key,"");
}
public static String getString(Properties props, String key, String defaultValue) {
String value=defaultValue;
if (props.containsKey(key)){
value=props.getProperty(key);
}
return value;
}
/**
* 获取数值型属性(默认值为 0)
*/
public static int getInt(Properties props, String key) {
return getInt(props, key, 0);
}
// 获取数值型属性(可指定默认值)
public static int getInt(Properties props, String key, int defaultValue) {
int value = defaultValue;
if (props.containsKey(key)) {
value = CastUtil.castInt(props.getProperty(key));
}
return value;
}
/**
* 获取布尔型属性(默认值为 false)
*/
public static boolean getBoolean(Properties props, String key) {
return getBoolean(props, key, false);
}
/**
* 获取布尔型属性(可指定默认值)
*/
public static boolean getBoolean(Properties props, String key, boolean defaultValue) {
boolean value = defaultValue;
if (props.containsKey(key)) {
value = CastUtil.castBoolean(props.getProperty(key));
}
return value;
}
}