private static String url;
private static String dbUser;
private static String dbPassword;
//获取属性文件中的内容
public static void getPropertiesParam(String filename) {
// //***方法1。在classpath的目录下(即在src的目录下)用getclassload方法获取
// Properties propes=new Properties();
// try {
// InputStream fis = DBUtil.class.getClassLoader().getResourceAsStream(filename);
// //加载输入流指定的文件
// propes.load(fis);
// //获取文件中对应的键的值
// url=propes.getProperty("url");
// dbUser=propes.getProperty("dbUser");
// dbPassword=propes.getProperty("dbPassword");
//
// System.out.println(url);
// }catch (Exception e) {
//
// }
//*****方法2.不在classpath的目录下(即不在src的目录下),必须使用完整路径
Properties propes=new Properties();
File file=new File(filename);//用这种传统的写法,文件的位置是相对于tomcat/bin目录,相当于在bin目录下的src/xx.properties
try {
FileInputStream fis=new FileInputStream(file);
//加载输入流指定的文件
propes.load(fis);
//获取文件中对应的键的值
url=propes.getProperty("url");
dbUser=propes.getProperty("dbUser");
dbPassword=propes.getProperty("dbPassword");
System.out.println(url);
}catch (Exception e) {
}
}
调用:
String path=getServletContext().getRealPath("/WEB-INF/classes/xx.properties");//绝对路径
DBUtil.getPropertiesParam("/Users/HaokeMaster/Desktop/javatest01/First/src/mysqlUse.properties");//对应上面的方法2;在classpath的目录下(即在src的目录下),这个必须是完整路径
// DBUtil.getPropertiesParam("mysqlUse.properties");//对应上面的方法1;在classpath的目录下(即在src的目录下),直接写文件名加后缀
******* 读取配置的工具类:ConfigUtil
package util;
import java.io.InputStream;
import java.util.Properties;
/**
* @author HaokeMaster
*配置文件读取的工具
*使用:ConfigUtil.getPropertiesParam("mysqlUse.properties");
*String url= ConfigUtil.getValue("url");
*/
public class ConfigUtil {
private static Properties propes=new Properties();
//static代码块: static{}
//static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,
//它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,
//JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次
//获取属性文件中的内容
public static void getPropertiesParam(String filename) {
//***方法1。在classpath的目录下(即在src的目录下)用getclassload方法获取
ClassLoader loader=ConfigUtil.class.getClassLoader();//获取类加载器
try {
InputStream fis = loader.getResourceAsStream(filename);
//加载输入流指定的文件
propes.load(fis);
}catch (Exception e) {
}
}
//获取配置文件中的键值,key是配置文件中的键
public static String getValue(String key) {
return propes.getProperty(key);
}
}