java加载配置文件到属性_Java读取属性配置文件

爱被打了一巴掌 2022-11-10 10:44 299阅读 0赞

在web开发中经常会遇到读取属性配置文件的情况, 下面简单介绍一下我对读取属性文件类的封装:

下面以读取jdbc.properties 为例 :

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://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);

}

}

发表评论

表情:
评论列表 (有 0 条评论,299人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java读取属性配置文件

    文章开始,让我们先了解一下什么是属性配置文件(properties)。 java的通用属性配置文件,以键值对方式存储信息。 还是给个图吧。 ![这里写图片描述][