package com.neptune.common.utils.properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class PropertiesUtil{
private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesUtil.class);
/**
* 默认编码为UTF-8
*/
private static String DEFAULT_ENCODING = "UTF-8";
private static Properties prop = new Properties();
public PropertiesUtil(String fileName){
readProperties(fileName);
}
/**
* 读取配置文件
*
* @param fileName
*/
public void readProperties(String fileName){
try{
InputStreamReader inputStream = new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(fileName), DEFAULT_ENCODING);
prop.load(inputStream);
InputStream in = PropertiesUtil.class.getResourceAsStream("/" + fileName);
BufferedReader buf = new BufferedReader(new InputStreamReader(in));
prop.load(buf);
}catch (IOException e){
LOGGER.error("reading the configuration file is abnormal");
}
}
/**
* 根据key读取对应的value
*
* @param key
* @return
*/
public static String getProperty(String key){
return prop.getProperty(key);
}
/**
* 获取所有的配置信息
* @return
* @return Map<?,?>
* @throws
*/
public Map<?, ?> getAll(){
Map<String, String> map = new HashMap<String, String>();
Enumeration<?> enu = prop.propertyNames();
while (enu.hasMoreElements()){
String key = (String) enu.nextElement();
String value = prop.getProperty(key);
map.put(key, value);
}
return map;
}
}
转载于:https://my.oschina.net/easy3399/blog/1593497
PropertiesUtil配置文件读取工具
本文介绍了一个Java工具类PropertiesUtil,用于读取和管理配置文件。该工具支持使用UTF-8编码读取属性文件,并提供了根据键获取值及获取所有配置信息的方法。
569

被折叠的 条评论
为什么被折叠?



