本文主要是介绍Properties 和 ResourceBundle 读取配置文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、使用Properties类读取配置文件
Properties props = new Properties();// 初始化PropertiesInputStream in = null;try {// 使用ClassLoader加载输入流in = ResourceUtil.class.getClassLoader().getResourceAsStream("application.properties");props.load(in);} catch (IOException e) {}finally {try {if(in != null)in.close();} catch (IOException e) {e.printStackTrace();}}
二、使用ResourceBundle 类读取配置文件
ResourceBundle resource = ResourceBundle.getBundle("application");
三、实例
- 项目目录
,
application_zh_CN.properties文件下有:test= zh_CN
application_en_US.properties文件下有:test= 123
application.properties文件下有:test= 123
- ResourceUtil的代码如下:
package com.example.springbootdemo;import java.io.IOException; import java.io.InputStream; import java.util.Locale; import java.util.Properties; import java.util.ResourceBundle;public class ResourceUtil {// 1、方法一:Properties + 输入流(getResourceAsStream)private static Properties props = new Properties();static {// 初始化PropertiesInputStream in = null;try {// 使用ClassLoader加载输入流in = ResourceUtil.class.getClassLoader().getResourceAsStream("application.properties");props.load(in);} catch (IOException e) {e.printStackTrace();}finally {try {if(in != null)in.close();} catch (IOException e) {e.printStackTrace();}}}// 2、方法二:ResourceBundle(更方便,推荐),初始化失败会报错private static ResourceBundle resource;private static ResourceBundle resource_zh;static {// 注意:这种方法不需要写文件的后缀// 1、获取以application_xx为前缀的文件,其中xx为本地的语言,如当前为zh(中文)resource = ResourceBundle.getBundle("application");// 2、获取application_zh_CN.properties文件Locale local = new Locale("en", "US"); // enresource_zh = ResourceBundle.getBundle("application", local);System.out.println();}public static void main(String[] args) {System.out.println("props :" + props.getProperty("test"));System.out.println("resource :" + resource.getString("test"));System.out.println("resource_zh :" + resource_zh.getString("test"));} }
运行结果如下:
这篇关于Properties 和 ResourceBundle 读取配置文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!