读取.properties配置文件工具类

package com.test.utils;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Properties;
 import org.apache.log4j.Logger;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
 import org.springframework.core.io.support.PropertiesLoaderUtils;

 /**
  * 
  * @Description:用于从配置文件中读取信息
  * @author gulf
  * @date 2017年6月19日
  */
 public class PropertiesUtil {
 
     private static Logger logger = Logger.getLogger(PropertiesUtil.class.getName());
     /**
      * 根据key获得value
      * @param key
      * @return value
      * @throws IOException 
      */
     public static String getValue(String resourceString,String key) throws IOException {
         String value="";
         Resource resource = new ClassPathResource(resourceString);
         try {
             Properties props = PropertiesLoaderUtils.loadProperties(resource);
             value=props.getProperty(key);
         } catch (IOException e) {
             logger.error("读取配置文件失败", e);
             throw new IOException("读取配置文件失败");
         }
         return value;
     }
     /**
      * 更新配置文件
      * @param key
      * @param value
      * @throws IOException
      */
     public static void setValue(String key,String value) throws IOException{
         try{
             Resource resource = new ClassPathResource("/config.properties");
             Properties props = PropertiesLoaderUtils.loadProperties(resource);
             OutputStream fos = new FileOutputStream(resource.getFile());
             props.setProperty(key, value);
             props.store(fos, "update"+key);
         }catch(Exception e){
             logger.error("写入配置文件失败", e);
             throw new IOException("写入配置文件失败");
         }
 
     }
 
 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏happyJared

Spring Boot中读取配置属性的几种方式

  本文介绍Spring Boot中读取配置属性的几种方式,项目示例中用到的application.yml和application.properties定义如下...

1.5K2
来自专栏一个会写诗的程序员的博客

《Springboot极简教程》问题解决:Spring MVC 关于controller的字符编码问题描述原因分析@RequestMapping

在使用springMVC框架构建web应用,返回http请求json格式的数据,中文乱码。

1442
来自专栏程序猿DD

基于Consul的分布式信号量实现

在之前《基于Consul的分布式锁实现》一文中我们介绍如何基于Consul的KV存储来实现分布式互斥锁。本文将继续讨论基于Consul的分布式锁实现。信号量是我...

2977
来自专栏IT笔记

Grafana+Prometheus系统监控之SpringBoot

前言 前一段时间使用SpringBoot创建了一个webhook项目,由于近期项目中也使用了不少SpringBoot相关的项目,趁着周末,配置一下使用prome...

1.6K7
来自专栏微信公众号:Java团长

自己手写一个SpringMVC框架

前端框架很多,但没有一个框架称霸,后端框架现在Spring已经完成大一统。所以学习Spring是Java程序员的必修课。

1062
来自专栏吴伟祥

验证框架Hibernate Validator 分组

有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下使用不同验证方式,比如说对于一个实体类来的id来说,保存的时候是不需要的,对于更新时是必须的,可以如...

1423
来自专栏光变

Spring PlaceHolder使用注意事项

对Spring Property Placeholder如何使用,以及使用过程中遇到的问题做了简单的描述。

1121
来自专栏java 成神之路

从零手写IOC

38110
来自专栏Jed的技术阶梯

Kafka 中使用 Avro 序列化框架(二):使用 Twitter 的 Bijection 类库实现 avro 的序列化与反序列化

使用传统的 avro API 自定义序列化类和反序列化类比较麻烦,需要根据 schema 生成实体类,需要调用 avro 的 API 实现 对象到 byte[]...

3054
来自专栏javathings

为什么 spring 中,不支持 autowired 静态变量?

因为静态变量是属于本身类的信息,当类加载器加载静态变量时,Spring 的上下文环境还没有被加载,所以不可能为静态变量绑定值。

3711

扫码关注云+社区

领取腾讯云代金券