如题,properties配置文件在项目中是经常用到的,那么读取properties配置文件的方法有哪些呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如题,properties配置文件在项目中是经常用到的,那么读取properties配置文件的方法有哪些呢?相关的知识,希望对你有一定的参考价值。


方法一:可以通过java.util.Properties类的load()方法

1 InputStreamin=lnewBufferedInputStream(newFileInputStream(name));
2 Propertiesp=newProperties();
3 p.load(in);

方法二:利用spring来读取properties配置文件
org.springframework.beans.factory.support.PropertiesBeanDefinitionReader


方法三:通过java.util.ResourceBundle类的getBundle()方法

1 ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

方法四:通过java.util.PropertyResourceBundle类的构造函数

1 InputStream in = new BufferedInputStream(new FileInputStream(name));
2 ResourceBundle rb = new PropertyResourceBundle(in);

感谢@luochen1314 提供的一种方法
版本二:

ResourceBundle res = ResourceBundle.getBundle(baseName);
baseName为 包路径/文件名(不带后缀)
比如properties文件在com.tt包下,文件名为tt.properties
则baseNamewei com/tt/tt


方法五:使用class变量的getResourceAsStream()方法

1 InputStream in = JProperties.class.getResourceAsStream(name);
2 Properties p = new Properties();
3 p.load(in);

方法六:通过class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法

1 InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
2 Properties p = new Properties();
3 p.load(in);

方法七:通过java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

1 InputStream in = ClassLoader.getSystemResourceAsStream(name);
2 Properties p = new Properties();
3 p.load(in);

方法八:Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法

1 InputStream in = context.getResourceAsStream(path);
2 Properties p = new Properties();
3 p.load(in);

以上是关于如题,properties配置文件在项目中是经常用到的,那么读取properties配置文件的方法有哪些呢?的主要内容,如果未能解决你的问题,请参考以下文章

关于SSM项目,连接MYSQL引入外部配置文件时,username不能被正确解析的问题

SpringBoot配置文件application.properties详解

SpringBoot读取properties文件配置项

SpringBoot项目的一些简单常用配置

动态设置spring配置PropertyPlaceholderConfigurer location的路径

SpringBoot入门之分散配置