读properties文件的时候,出现了或多或少的奇怪问题,这里把最终成功的方式描述一下。
PropUtil工具类
public class PropUtil {
private String filePath = null;
public PropUtil(String fileName) {
this.filePath = getClass().getClassLoader().getResource("/").getPath();
filePath = filePath.substring(1, filePath.length() - 8) + fileName;
// fixed tomcat readpath problem dml@2012.9.12
filePath = filePath.replaceAll("%20", " ");
}
public Properties getProp() {
Properties prop = new Properties();
try {
InputStream in = new BufferedInputStream(new FileInputStream(
filePath));
prop.load(in);
in.close();
} catch (Exception err) {
err.printStackTrace();
}
return prop;
}
}
调用的时候,直接实例化这个工具类对象即可
public static Connection getConnect() {
PropUtil pu = new PropUtil("DB.properties");
Properties p = pu.getProp();
Connection con = null;
try {
String url = p.getProperty("url");
String Driver = p.getProperty("driver");
String user = p.getProperty("userName");
String pwd = p.getProperty("password");
Class.forName(Driver);
con = DriverManager.getConnection(url, user, pwd);
if (con == null) {
System.out.println("can not find con");
}
} catch (Exception e) {
System.out.println("conn bad!");
e.printStackTrace();
}
return con;
}
以上是在tomcat中最终配置的方式。