java如何读取properties文件将参数值配置到静态变量

 更新时间:2023年08月14日 14:31:15   作者:祁仙森  
这篇文章主要介绍了java如何读取properties文件将参数值配置到静态变量问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java读取properties将参数值配置到静态变量

将test.properties的文件读取赋值给静态变量

创建一个final类

可以两种方式读取test.properties配置文件

第一种:此方法可以写配置文件的绝对路径

InputStream is = new BufferedInputStream(new FileInputStream(new File("F:\\java\\idea-workspace\\javaDemoForTest\\src\\test.properties")));

第二种:此时test.properties配置文件的路径与包同级,在src目录下

InputStream is = ReadProperties.class.getClassLoader().getResourceAsStream("test.properties");
package com.gangye;
import java.io.*;
import java.util.Properties;
/**
 * @Classname ReadProperties
 * @Description 读取文件到静态变量
 * @Date 2020/7/9 17:03
 * @Created by gangye
 */
public final class ReadProperties {
    private static Integer id;
    private static String name;
    private static String address;
    static {
        Properties prop = new Properties();
        try {
            // 方法一:通过输入缓冲流进行读取配置文件,文件可以传入绝对路径
            //InputStream is = new BufferedInputStream(new FileInputStream(new File("F:\\java\\idea-workspace\\javaDemoForTest\\src\\test.properties")));
            InputStream is = ReadProperties.class.getClassLoader().getResourceAsStream("test.properties");
            // 传入编码格式解决中文乱码
            prop.load(new InputStreamReader(is,"utf-8"));
            id = Integer.valueOf(prop.getProperty("id"));
            name = prop.getProperty("name");
            address = prop.getProperty("address");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    private ReadProperties(){}
    public static Integer getId(){
        return id;
    }
    public static String getName(){
        return name;
    }
    public static String getAddress(){
        return address;
    }
}

注意,上述在加载文件的时候

prop.load(new InputStreamReader(is,"utf-8"));

使用配置文件对应的编码格式,不然会出现乱码现象

编写测试类,打印静态变量的值

public static void main(String[] args) {
    System.out.println(ReadProperties.getId());
    System.out.println(ReadProperties.getName());
    System.out.println(ReadProperties.getAddress());
}

成功,没有出现乱码现象 

java相对路径与properties文件读取

//  打包jar同目录下的application.properties,未打包 bin/application.properties
			File file = new File(path + "application.properties");
			Properties properties = new Properties();
			InputStream in = new BufferedInputStream(new FileInputStream(file));
			properties.load(in);
			int port = Integer.parseInt(properties.getProperty("server.port"));
			// 遍历properties
//			Iterator<String> it = properties.stringPropertyNames().iterator();
//			while(it.hasNext()) {
//				String key = it.next();
//				System.out.println(key+":" + properties.getProperty(key));
//				
//			}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • quartz的简单使用、SpringBoot使用和自定义数据源集成方式

    quartz的简单使用、SpringBoot使用和自定义数据源集成方式

    这篇文章主要介绍了quartz的简单使用、SpringBoot使用和自定义数据源集成方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教<BR>
    2024-01-01
  • 关于spring data jpa 模糊查询like的坑点

    关于spring data jpa 模糊查询like的坑点

    这篇文章主要介绍了关于spring data jpa 模糊查询like的坑点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • JavaAgent的简单例子

    JavaAgent的简单例子

    这篇文章主要介绍了JavaAgent的简单例子,对JavaAgent感兴趣的同学,可以参考下
    2021-04-04
  • SpringBoot项目jar和war打包部署方式详解

    SpringBoot项目jar和war打包部署方式详解

    这篇文章主要为大家介绍了SpringBoot项目jar和war打包部署方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • java如何实现递归删除树形数据的任一个节点

    java如何实现递归删除树形数据的任一个节点

    文章讲述了在Java中实现递归删除树形数据的任一个节点时需要注意的三个点,包括删除的节点包含子节点、删除子节点和其他子节点删除的节点不包含子节点、以及该父节点变成叶子节点,此外,文章还提到这两件事包含在同一件事务中
    2024-12-12
  • mybatis中<choose>标签的用法说明

    mybatis中<choose>标签的用法说明

    这篇文章主要介绍了mybatis中<choose>标签的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 详解mybatis #{}和${}的区别、传参、基本语法

    详解mybatis #{}和${}的区别、传参、基本语法

    这篇文章主要介绍了mybatis #{}和${}的区别、传参、基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • JAVA异常分类和处理解析

    JAVA异常分类和处理解析

    这篇文章主要介绍了JAVA异常分类和处理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Mybatis配置解析看这一篇就够了

    Mybatis配置解析看这一篇就够了

    这篇文章主要介绍了详解Mybatis是如何解析配置文件的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • spring是如何解析xml配置文件中的占位符

    spring是如何解析xml配置文件中的占位符

    这篇文章主要介绍了spring是如何解析xml配置文件中的占位符,帮助大家更好的理解和使用spring框架,感兴趣的朋友可以了解下
    2020-11-11

最新评论