使用java系统属性user.dir读取配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用java系统属性user.dir读取配置文件相关的知识,希望对你有一定的参考价值。
适用于windows和linux服务器读取配置文件
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import org.apache.log4j.Logger;
public final class PropertyUtil {
private static Logger LOG = Logger.getLogger(PropertyUtil.class);
// 配置文件
private static Properties demoProps = new Properties();
// 单例模式
private static PropertyUtil instance = null;
private PropertyUtil() {
// user.dir为应用目录
String filePath = System.getProperty("user.dir") + File.separator
+ "WEB-INF" + File.separator + "classes" + File.separator
+ "resources" + File.separator;
LOG.info(filePath);
try {
File demoFile = new File(filePath + "demo.properties");
if (httpFile.exists()) {
demoProps.load(new FileInputStream(filePath
+ "demo.properties"));
}
} catch (IOException e) {
LOG.info("The Exception occured.", e);
}
}
public synchronized static PropertyUtil getInstance() {
if (null == instance) {
instance = new PropertyUtil();
}
return instance;
}
/**
* 获取参数值
*
* @param key
* properites的key值
* @param defValue
* 默认值
* @return
*/
public String getValues(String key, String defValue) {
String rtValue = null;
if (null == key) {
LOG.error("key is null");
} else {
rtValue = getPropertiesValue(key);
}
if (null == rtValue) {
LOG.warn("PropertyUtil.getValues return null, key is " + key);
rtValue = defValue;
}
LOG.info("PropertyUtil.getValues: key is " + key + "; Value is "
+ rtValue);
return rtValue;
}
/**
* 根据key值获取server.properties的值
*
* @param key
* @return
*/
private String getPropertiesValue(String key) {
String rtValue = demoProps.getProperty(key);
return rtValue;
}
}
以上是关于使用java系统属性user.dir读取配置文件的主要内容,如果未能解决你的问题,请参考以下文章