import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class PropertiesUtil {
private static Logger logger = LoggerFactory.getLogger(PropertiesUtil.class);
private static final String DEFAULT_CONFIG = "config.properties";
private PropertiesUtil(){}
public static Properties getProperties(){
return getProperties(DEFAULT_CONFIG);
}
public static Properties getProperties(String path){
Properties prop = new Properties();
loadConfig(prop,path);
return prop;
}
private static void loadConfig(Properties prop, String path) {
InputStream is = null;
if (StringUtils.isEmpty(path)) {
is = getInputStream(DEFAULT_CONFIG);
logger.info("加载默认配置文件:{}", DEFAULT_CONFIG);
} else {
is = getInputStream(path);
logger.info("加载指定配置文件:{}", path);
}
try {
prop.load(is);
} catch (IOException e) {
e.printStackTrace();
logger.error("配置文件找不到!");
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
logger.info("IO流关闭时发生异常!");
}
}
}
}
// 获取输入流
private static InputStream getInputStream(String conf) {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = null;
if (null != classLoader) {
is = classLoader.getResourceAsStream(conf);
}
return is;
}
// 获取指定key的value
public static String getValue(Properties prop, String key) {
String value = prop.getProperty(key);
return StringUtils.isEmpty(value) ? StringUtils.EMPTY : value;
}
}
Properties 文件配置读取
最新推荐文章于 2024-10-05 12:07:50 发布