1 properties配置文件读取工具类
代码语言:javascript复制package com.wdy.tools.utils;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
* Properties配置文件处理工具
* @author wdy
*/
public class PropertiesUtil {
// 静态块中不能有非静态属性,所以加static
private static Properties prop = null;
//静态块中的内容会在类别加载的时候先被执行
static {
try {
prop = new Properties();
// prop.load(new FileInputStream(new File("C:\jdbc.properties")));
prop.load(PropertiesUtil.class.getClassLoader().getResourceAsStream("configs/jdbc.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//静态方法可以被类名直接调用
public static String getValue(String key) {
return prop.getProperty(key);
}
}
2 如何使用以上的工具类
假设你的配置文件是这样的:
代码语言:javascript复制driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/myorcl
username = root
password = root
那么你可以这样读取你的配置信息:
代码语言:javascript复制String driver = PropertiesUtil.getValue("driver");
System.out.println(driver);//输出结果:com.mysql.jdbc.Driver
第二种方法
代码语言:javascript复制import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
*
*/
public class ProUtil {
/* 私有构造方法,防止被实例化 */
private ProUtil (){};
public static Properties propertie = null;
static {
propertie = new Properties();
InputStream inputStream = ProUtil.class.getResourceAsStream("/config.properties");
//解决中文乱码 BufferedReader buff = new BufferedReader(new InputStreamReader(inputStream));
try {
propertie.load(buff);
inputStream.close();
} catch (IOException e) {
}
}
public static void main(String[] args) {
System.out.println("--->" ProUtil.propertie.get("username")); //username
}
}
在其他代码里面使用以下这个就可以使用了
代码语言:javascript复制ProUtil.propertie.get("username")