讀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.12filePath = 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中最終配置的方式。