Java读取properties配置文件的实现过程

 更新时间:2026年03月26日 08:55:42   作者:proven.  
这篇文章主要介绍了Java读取properties配置文件的实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java读取properties配置文件

在我们的代码中,经常需要将一些值放到配置文件中读取,这样的好处就是可以不需要重新编译代码就可以改变一些系统的属性,今天分享一个用java 读取properties配置文件的方法。

我把它直接写成了一个工具类,我现在每个项目开始之前,总要将这个工具类先放进去

具体方法

可以直接将这个工具类放入util 包中就可以的使用里面的方法实现读取和写配置的功能了!

下面直接上代码

package com.proven.util;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;

/**
 * 
* @ClassName: PropertyUtil  
* @author weilong  
* @date 2019年5月14日
 */
public class PropertyUtil {
    private static Properties props;
    static{
        loadProps();
    }

    synchronized static private void loadProps(){
        props = new Properties();
        InputStream inputStream=null;
        try {
        	inputStream = new BufferedInputStream(new FileInputStream(new File("config/config.properties")));
            props.load(inputStream);
        } catch (FileNotFoundException e) {
            System.out.println("config.properties文件未找到");
        } catch (IOException e) {
        	System.out.println("出现IOException");
        } finally {
            try {
                if(null != inputStream) {
                	inputStream.close();
                }
            } catch (IOException e) {
            	System.out.println("config.properties文件流关闭出现异常");
            }
        }
        System.out.println("加载properties文件内容完成...........");
    }

    public static String getProperty(String key){
        if(null == props) {
            loadProps();
        }
        return props.getProperty(key);
    }

    public static String getProperty(String key, String defaultValue) {
        if(null == props) {
            loadProps();
        }
        return props.getProperty(key, defaultValue);
    }
    
    public static void setProperty(String key,String value) {
    	try {
    		if(null == props) {
                loadProps();
            }
			FileOutputStream oFile = new FileOutputStream(new File("config/config.properties"));
			props.setProperty(key, value);
			props.store(oFile, new Date().toString());
			oFile.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}
	 
	  
    }
}

使用方法

PropertyUtil.getProperty(key),PropertyUtil.setProperty(key,value)

其中getProperty 方法是从配置文件中读取配置。

setProperty方法是从把值写进配置文件中去。

其中项目的目录是这样的

总结

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

相关文章

  • Spring内存缓存Caffeine的基本使用教程分享

    Spring内存缓存Caffeine的基本使用教程分享

    Caffeine作为当下本地缓存的王者被大量的应用再实际的项目中,可以有效的提高服务吞吐率、qps,降低rt,本文就来简单介绍下Caffeine的使用姿势吧
    2023-03-03
  • Java Validated 分组校验的使用

    Java Validated 分组校验的使用

    这篇文章主要介绍了Java Validated 分组校验的使用,文章记录所以在这里记录下分组校验注解@Validated的使用,具有一定的参考价值,需要的朋友可以参考一下
    2022-02-02
  • MacOS如何安装配置多个JDK并切换使用详解

    MacOS如何安装配置多个JDK并切换使用详解

    这篇文章主要介绍了如何在MacOS上安装和配置多个JDK版本,通过配置环境变量来实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • spring中IOC控制反转依赖注入和new对象的区别说明

    spring中IOC控制反转依赖注入和new对象的区别说明

    这篇文章主要介绍了spring中IOC控制反转依赖注入和new对象的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 详细聊一聊java语言中的package和import机制

    详细聊一聊java语言中的package和import机制

    这篇文章主要给大家介绍了关于java语言中package和import机制的相关资料,Java中的package是指将相关的类组织在一起的一种机制,它可以用来避免命名冲突,也可以方便地管理和维护代码,需要的朋友可以参考下
    2024-01-01
  • Mybatis如何实现延迟加载及缓存

    Mybatis如何实现延迟加载及缓存

    这篇文章主要介绍了Mybatis如何实现延迟加载及缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Spring底层核心源码原理解析

    Spring底层核心源码原理解析

    这篇文章主要介绍了Spring底层核心源码原理解析,当在某个方法上加了@Transactional注解后,就表示该方法在调用时会开启Spring事务,而这个方法所在的类所对应的Bean对象会是该类的代理对象,需要的朋友可以参考下
    2023-09-09
  • Java仿12306图片验证码

    Java仿12306图片验证码

    这篇文章主要为大家详细介绍了Java仿12306的图片验证码的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • java实现Object和Map之间的转换3种方式

    java实现Object和Map之间的转换3种方式

    本篇文章主要介绍了java实现Object和Map之间的转换3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 一篇文章让你学会Java的输入与输出

    一篇文章让你学会Java的输入与输出

    这篇文章主要介绍了Java输入与输出的相关资料,包括使用System.out.println()、System.out.printf()和System.out.print()进行输出,以及使用Scanner类和System.in.read()方法进行输入,需要的朋友可以参考下
    2025-03-03

最新评论