Java读取配置文件

时间:2022-03-15 18:45:21

利用Java读取配置文件一般分两种方法,分别是静态读取和动态读取。

  • 静态读取:在初始化的时候就把配置项一次全部读入,并保存在静态成员变量中
  • 动态读取:每次加载的时候读取一遍

先介绍一个静态的读取方法,读取文件src文件下的Config.propertise配置文件,直接看代码:

package common.util;

import java.util.ResourceBundle;

/**
* 用于读取配置参数
*/

public class Config {
private static final ResourceBundle resourceBundle = ResourceBundle.getBundle("Config");

public static String get(String key) {
return resourceBundle.getString(key);
}

/**
* 获取互联网网关IP
*
* @return
*/

public static String getIp() {
return Config.get("Ip");
}

/**
* 获取互联网网关端口号
*
* @return
*/

public static int getPort() {
return Integer.parseInt(Config.get("Port"));
}

/**
* 获取互联网编号
*
* @return
*/

public static String getId() {
return Config.get("Id");
}

/**
* 获取sharedSecret
*
* @return
*/

public static String getSpSharedSecret() {
return Config.get("sharedSecret");
}

/**
* 获取链接的次数
*
* @return
*/

public static int getConnectCount() {
return Integer.parseInt(Config.get("connectCount"));
}

/**
* 获取链接的超时时间
*
* @return
*/

public static int getTimeOut() {
return Integer.parseInt(Config.get("timeOut"));
}
}

接下来介绍一些动态的读取配置文件的方法,同样的,读取文件src文件下的Config.propertise配置文件,直接看代码吧:

package common.util;

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;

public class ExcutePro {

// 读取.properties 结尾的配置文件用,getP, getParam
public static Map<String, String> getP(String path) throws Exception {
Resource resource = new ClassPathResource(path);
Properties props = PropertiesLoaderUtils.loadProperties(resource);
Map<String, String> param = new HashMap<String, String>((Map) props);
return param;
}

}

使用方法:

public static void main(String[] args) {
Map<String, String> app = null;
try {
app = ExcutePro.getP("Config.properties");
} catch (Exception e2) {
e2.printStackTrace();
}
String msgSic_port = app.get("Ip");
String msgSic_port = app.get("Port");
String msgSic_ip = app.get("sharedSecret");
String msgSic_port = app.get("connectCount");
String msgSic_port = app.get("timeOut");
System.out.println(Ip);
System.out.println(Port);
System.out.println(sharedSecret);
System.out.println(connectCount);
System.out.println(timeOut);
}