Java读取.properties配置文件方法示例

 更新时间:2019年03月15日 11:01:28   作者:黄浩#  
这篇文章主要介绍了Java读取.properties配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、介绍

Properties文件在Java中主要为配置文件,文件类型为:.properties,格式为文本文件,内容格式为"键=值"

二、读取

这里我采用的是getResourceAsStream的文件读取方法

如果想要使用这个方法,则需要了解一些基本使用信息:

1、读取文件路径范围:只局限于工程的源文件中

2、文件访问形式:带"/"是绝对路径,不带"/"是相对路径

3、读取文件类型:主要为:.properties文件,.xml文件

三、使用

主要方法有:

  1. 1、 load ( InputStream  inStream) :从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如的 beans.properties 文件)进行装载来获取该文件中的所有键 - 值对。
  2. 2、 setProperty ( String  key, String  value) :调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。
  3. 3、 getProperty ( String  key) :用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
  4. 4、 store ( OutputStream  out, String  comments) :以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
  5. 5、 clear ():清除所有装载的 键 - 值对。该方法在基类中提供。

java项目配置文件存放位置:

 

 Maven项目配置文件存放位置:

配置文件:

 className = edu.nf.ch02.impl.Sub

 java代码:

public class Main {

  public static void main(String[] args) throws IOException {
    //创建Properties对象
    Properties prop = new Properties();
    //读取classPath中的properties文件
    prop.load(Main.class.getClassLoader().getResourceAsStream("bean.properties"));
    //根据键取出值
    String className = prop.getProperty("className");
    System.out.println(className);
    
  }
}

运行结果:

封装的PropertiesUtil工具类:

public class PropertyUtil {

  private static Properties prop = new Properties();

  static {
    try {
      prop.load(PropertyUtil.class.getClassLoader().getResourceAsStream("calculator.properties"));
    } catch (IOException e) {
      throw new RuntimeException(e.getMessage());
    }
  }

  /**
   * 根据Name获取Property
   * @param name
   * @return
   */
  public static String getProperty(String name) {
    return prop.getProperty(name);
  }

  /**
   * 获取所有的Property
   * @return
   */
  public static List<String> getBeanFactoryClass() {
    List<String> list = new ArrayList<>();
    Set<String> keys = prop.stringPropertyNames();
    for (String key : keys) {
      list.add(prop.getProperty(key));
    }
    return list;
  }
}

以上所述是小编给大家介绍的Java读取.properties配置文件详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 关于远程调用RestTemplate的使用避坑指南

    关于远程调用RestTemplate的使用避坑指南

    这篇文章主要介绍了关于远程调用RestTemplate的使用避坑指南,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Springboot Logback日志多文件输出方式(按日期和大小分割)

    Springboot Logback日志多文件输出方式(按日期和大小分割)

    这篇文章主要介绍了Springboot Logback日志多文件输出方式(按日期和大小分割),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java多线程中的CountDownLatch解析

    Java多线程中的CountDownLatch解析

    这篇文章主要介绍了Java多线程中的CountDownLatch解析,CountDownLatch是一个阻塞部分线程直到其他线程执行完成后唤醒的同步计数器,核心是其内部类Sync继承于AQS,同时也是利用的AQS的同步原理,也称之为闭锁,需要的朋友可以参考下
    2023-11-11
  • SpringBoot整合微信登录功能的实现方案

    SpringBoot整合微信登录功能的实现方案

    今天通过本文给大家分享微信登录与SpringBoot整合过程,微信扫描登录实现代码知道扫描后点击登录的全部过程,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • 基于java socket实现 聊天小程序

    基于java socket实现 聊天小程序

    这篇文章主要介绍了基于java socket实现 聊天小程序,代码分为服务器和客户端,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • java中@DateTimeFormat和@JsonFormat注解的使用

    java中@DateTimeFormat和@JsonFormat注解的使用

    本文主要介绍了java中@DateTimeFormat和@JsonFormat注解的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • SpringCloud整合Consul的实现

    SpringCloud整合Consul的实现

    这篇文章主要介绍了SpringCloud整合Consul的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 关于Spring中声明式事务的使用详解

    关于Spring中声明式事务的使用详解

    Spring中事务分为编程式事务和声明式事务,编程式事务由于需要在代码中硬编码,在实际项目开发中比较少用到,实际开发中用的比较多的就是声明式事务,这篇文章主要给大家介绍了关于Spring中声明式事务使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • Gateway网关源码解析

    Gateway网关源码解析

    这篇文章主要介绍了Gateway微服务网关,负载均衡,熔断和限流,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • springboot如何为web层添加统一请求前缀

    springboot如何为web层添加统一请求前缀

    这篇文章主要介绍了springboot如何为web层添加统一请求前缀,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论