java加载配置文件到属性_Java读取属性配置文件
在web开发中经常会遇到读取属性配置文件的情况, 下面简单介绍一下我对读取属性文件类的封装:
下面以读取jdbc.properties 为例 :
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc//localhost:3306/smart
jdbc.username=root
jdbc.password=root
解析来需要读取jdbc.properties 文件, 封装了一个PropsUtil类:
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.info(“load properties file failure”,e);
}finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
logger.info(“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.contains(key)) {
value = props.getProperty(key);
}
return value;
}
/**
* 获取数值型属性
*/
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.contains(key)) {
value = CastUtil.castInt(props.getProperty(key));
}
return value;
}
/**
* 获取布尔类型
*/
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.contains(key)) {
value = CastUtil.castBoolean(props.get(key));
}
return value;
}
}
客户端测试调用只需要调用loadPropers() 就可以了:
/**
*
* 读取配置文件
*/
public class ReadProperties {
public static final Logger logger = LoggerFactory.getLogger(ReadProperties.class);
public static void main(String[] args) {
Properties props = PropsUtil.loadProps(“jdbc.properties”);
String driver = props.getProperty(“jdbc.driver”);
String url = props.getProperty(“jdbc.url”);
String username = props.getProperty(“jdbc.username”);
String password = props.getProperty(“jdbc.password”);
logger.info(driver);
logger.info(url);
logger.info(username);
logger.info(password);
}
}
还没有评论,来说两句吧...