Java 读取 .properties 配置文件的几种方式
2021-03-29 18:25
标签:key 文件的 etc put cat red strong out com Java 读取 .properties 配置文件的几种方式 标签:key 文件的 etc put cat red strong out com 原文地址:https://www.cnblogs.com/shenhaha520/p/13600929.html没啥说的,直接上代码。
package com.iflytek.jtcn.service.impl;
import org.elasticsearch.client.Client;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import java.util.ResourceBundle;
public class PropertiesTest {
public static void readProp1() throws Exception {
Properties prop = new Properties();
prop.load(new InputStreamReader(Client.class.getClassLoader().getResourceAsStream("application.properties"), "UTF-8"));
String linuxIp = (String) prop.get("linux.ip");
System.out.println("linuxIp:" + linuxIp);
}
/**
* 基于ClassLoder读取配置文件
* 注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。
*/
public static void readProp2() throws Exception {
Properties properties = new Properties();
// 使用ClassLoader加载properties配置文件生成对应的输入流
InputStream in = PropertiesTest.class.getClassLoader().getResourceAsStream("application.properties");
// 使用properties对象加载输入流
properties.load(in);
//获取key对应的value值
String linuxIp = properties.getProperty("linux.ip");
System.out.println("linuxIp:" + linuxIp);
}
/**
* 基于 InputStream 读取配置文件
* 绝对路径
* 注意:该方式的优点在于可以读取任意路径下的配置文件
*/
public static void readProp3() throws Exception {
Properties properties = new Properties();
// 使用InPutStream流读取properties文件 //使用绝对路径
BufferedReader bufferedReader = new BufferedReader(new FileReader("src/main/resources/application.properties"));
properties.load(bufferedReader);
// 获取key对应的value值
String linuxIp = properties.getProperty("linux.ip");
System.out.println("linuxIp:" + linuxIp);
}
/**
* 通过 java.util.ResourceBundle 类来读取,这种方式比使用 Properties 要方便一些
*
* 通过 ResourceBundle.getBundle() 静态方法来获取(ResourceBundle是一个抽象类),
* 这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可
*
* */
public static void readProp4() {
//application为属性文件名,如果是放在src下,直接用application即可,放在其他包路径下需要用绝对路径
ResourceBundle resource = ResourceBundle.getBundle("application");
String linuxIp = resource.getString("linux.ip");
System.out.println("linuxIp:" + linuxIp);
}
public static void main(String[] args) throws Exception {
//readProp1();
//readProp2();
//readProp3();
readProp4();
}
}
文章标题:Java 读取 .properties 配置文件的几种方式
文章链接:http://soscw.com/index.php/essay/69628.html