public class ConfigUtil {
private static final Logger logger = LoggerFactory.getLogger(ConfigUtil.class);
private static Properties properties = new Properties();
private static Properties configProperties = new Properties();
static {
try {
InputStream in = ConfigUtil.class.getResourceAsStream("/application.properties");
logger.info("获取application.properties数据流为" + in);
properties.load(in);
in.close();
logger.info("加载application.properties完成!");
} catch (Exception e) {
logger.error("加载application.properties文件发生异常!", e);
}
try {
InputStream configIn = ConfigUtil.class.getResourceAsStream("/conf/config.properties");
logger.info("获取config.properties数据流为" + configIn);
configProperties.load(configIn);
configIn.close();
logger.info("config.properties完成!");
} catch (Exception e) {
logger.error("加载config.properties文件发生异常!", e);
}
}
public static Properties getProperties() {
return properties;
}
public static void setProperties(Properties properties) {
ConfigUtil.properties = properties;
}
public static Properties getConfigProperties() {
return configProperties;
}
public static void setConfigProperties(Properties configProperties) {
ConfigUtil.configProperties = configProperties;
}
}
其中,application.properties文件和config.properties文件分别在路径resources和resources/conf/下:
读数据和写数据方法见下列示例
public class UpdateUtil {
private static final Logger logger = LoggerFactory.getLogger(UpdateUtil.class);
/**
* 获取开始同步的时间
*
* @return
*/
public static String getStartTime() {
String startTime = null;
try {
String oldStartTime = (String) ConfigUtil.getConfigProperties().get("sync.startTime");
;
startTime = DateTool.formatISO8601FromStandard(oldStartTime);
logger.info("获取配置文件中的开始时间为{}", startTime);
} catch (Exception e) {
logger.error("获取开始时间发生异常!", e);
}
return startTime;
}
/**
* @param date
* @描述 改变下次预警同步开始时间
*/
public static void updateStartTime(String date) {
try {
String path = (String) ConfigUtil.getProperties().get("configPath");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path, false), "UTF-8"));
ConfigUtil.getConfigProperties().setProperty("sync.startTime", date);
ConfigUtil.getConfigProperties().store(writer, "");
writer.close();
} catch (IOException e) {
logger.error("更新配置文件中起始时间发生异常!", e);
}
}