前言:在开发中经常会有参数提取到配置文件中,所以写一个工具类来获取各种类型的配置参数是必不可少的,本节就为大家提供了该工具类源码,以数据库信息存取文件为例。
Properties配置文件
.properties文件是使用键值对(key=value)格式,多对数据使用换行分开。
使用注意事项:
1)在配置文件中不能使用空格
2)在配置文件中,所有的数据都是字符串
例如
#***************** [Oracle] 参数设置*********************
user=ctsdb
passwd=ctsdb
url=jdbc:oracle:thin:@127.0.0.1:1521:ctsdb
源码
package com.util;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class ConfigurationManager {
//文件夹位置(src根目录开始)
private String analysisPath = "configuration/comm.properties";
private static Properties analysisPrpts = new Properties();
private static ConfigurationManager instance = new ConfigurationManager();
public static ConfigurationManager getInstance() {
return instance;
}
private ConfigurationManager() {
}
//初始化配置文件
public void loadConfiguration() {
try {
//判断文件是否存在
File f = new File(analysisPath);
if (!f.exists())
throw new Exception("系统找不到指定的文件-->"+analysisPath);
//获取输入流
analysisPrpts.load(new FileInputStream(analysisPath));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 从配置文件中读取配置文件信息
*/
private static String getProperty(String key) {
return analysisPrpts.getProperty(key);
}
/**
* 获取配置文件中的 String 属性,指定自定义默认值
*/
public static String getString(String key, String defaultValue) {
String property = getProperty(key);
if (property == null || "".equals(property)) {
return defaultValue;
}
return property;
}
/**
* 获取配置文件中的 boolean 属性,指定自定义默认值
*/
public static boolean getBoolean(String key, boolean defaultValue) {
boolean value = defaultValue;
String str1 = getProperty(key);
if (str1 == null || "".equals(str1)) {
return value;
}
value = Boolean.parseBoolean(str1);
return value;
}
/**
* 获取配置文件中的 int 属性,指定自定义默认值
*/
public static int getInt(String key, int defaultValue) {
int value = defaultValue;
String str1 = getProperty(key);
if (str1 == null || "".equals(str1)) {
return value;
}
value = Integer.parseInt(str1);
return value;
}
/**
* 获取配置文件中的 double 属性,指定自定义默认值
*/
public static double getDouble(String key, double defaultValue) {
double value = defaultValue;
String str1 = getProperty(key);
if (str1 == null || "".equals(str1)) {
return value;
}
value = Double.parseDouble(str1);
return value;
}
}